2011-09-19 58 views
1

我在.Net 3.5中编写应用程序。编译时未找到C#dll

到目前为止,我在解决方案中有3个项目。当从我的主项目中添加对其他项目的引用时,intellisense设法从另一个项目的dll中找到类,但是在编译时它似乎在“丢失”引用。

这可能是因为我最初创建的目标框架为.NET 4.0的项目。但是,因为我需要使用ASP.NET Web服务,所以我必须降级到3.5。

任何帮助将不胜感激。

+0

编译时是否收到编译器错误?如果是这样,请发布。或者你有运行时错误? 您是否已将所有项目降级到.NET 3.5? – Jan

+0

是的我得到一个编译器错误。该错误指出“找不到MyClass”,即当您忘记将引用添加到项目中时得到的相同错误 – Jonny

回答

0

的referrenced项目必须复制本地:真 Referrence - >性质在 - >复制本地:真

+0

当您部署dll尚不可用的程序集时,需要复制本地文件。我不认为这是问题。 –

+0

感谢您的迅速回复。但我不确定在哪里可以找到复制本地选项 – Jonny

+0

只需打开项目的“参考”部分,单击所述参考并在属性网格中将“复制本地”设置为true。 – SuperOli

0

批清洁解决方案中的所有项目,确保在您的依赖关系图所有项目面向.NET 3.5框架。检查.csproj文件中的引用HintPath(使用文本编辑器打开)以查看对外部DLL的引用,并确保它们全部为< = 3.5。

但是,由于我需要使用ASP.NET Web服务,我必须降级到3.5。

在.NET 4中还有几个不同的Web服务项目。我不太明白这一举措。

+0

如果我将目标框架设置为.Net 4.0,visual studio会隐藏掉asp.net web服务。相反,只有WCF服务可见。 顺便说一句,我所有的项目清理和他们的目标框架设置为3.5 – Jonny

0

你有项目引用,intellisense 看到你引用的类,但编译时,编译器似乎没有找到引用的程序集。

我看到这种行为可能有两个原因:

  1. 你的主要项目引用.NET Framework的版本低于您的库项目(这是最可能的原因)。
  2. 您的图书馆项目将无法完全/按错误顺序生成(检查配置管理器中的设置,在solition资源管理器中右键单击您的解决方案)。
+0

第1点:不,所有项目的.Net Framework是3.5 第2点:试图按正确的顺序一次编译1,问题仍然存在:/ – Jonny

+0

您是否使用相同的配置/平台设置编译所有项目? – Jan