我真的是c#和VS2010的新手。*-\
我有一个“纯”Winforms应用程序。或者至少我认为是这样。
但是突然之间(最后一次修改源代码),我在构建辅助DLL时出现了这个错误:
误差7
类型'System.Windows.Interop.HwndHost‘是在未引用的程序集中定义的。必须添加对程序集'PresentationFramework,Version=3.0.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35‘的引用。D:\MyprojectPath\SharedExceptions.cs AuxLibraryProject
我不想将PresentationFramework.dll添加到项目中,即使我试图添加它,也需要很多其他程序集。:-(
我想知道这个集会要求的罪名在哪里。我很乐意把一些代码归咎于我的源代码,但我找不到它。
SharedExceptions.cs
是已更改的文件之一,但当我(手动)删除所有更改时,错误仍然存在。
此程序集在2010系统上编译良好。但在Windows上不行。
更新:
我把父母的例外留给了所有其他人。所有其他文件都在其他文件上。重新生成后,错误将保留在同一个文件上。这是小的源代码。我看不到任何需要新程序集的东西:
using System;
namespace PROJECT.AuxLibraryProject
{
public class SharedExceptionParent: Exception
{
public string ErrorMessage
{
get
{
return base.Messsage.ToString();
}
}
public SharedExceptionParent() { }
public SharedExceptionParent(string errorMessage) : base(errorMessage) { }
public SharedExceptionParent(string errorMessage, Exception innerEx) : base(errorMessage, innerEx) { }
}
}
发布于 2011-03-28 19:15:16
我找到它了:
两个程序集的命名空间关键字顶部的这一行是罪魁祸首:
[assembly: CLSCompliant(true)]
我已经删除了这两个程序集上的这一行,现在所有的构建都很好。
欢迎光临。
发布于 2011-03-28 17:28:50
您不是在引用HwndHost
,就是在引用HwndHost
。这是在PresentationFramework.dll中定义的。
你得找出凶手。它在您的SharedExceptions.cs
文件中。显然,至少有一个更改没有在该文件中完全退出。
(顺便说一句,这是每个类使用一个文件的一个巨大优势.我猜您在该文件中定义了许多异常类型,这就是为什么您不能立即看到这种异常类型的原因。)
https://stackoverflow.com/questions/5462651
复制相似问题