在编译时找不到C#DLL

时间:2011-09-19 11:54:17

标签: c# .net web-services compilation

我正在.Net 3.5中编写一个应用程序。

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

这可能是因为我最初用目标框架.Net 4.0创建了项目。但是,由于我需要使用ASP.NET Web服务,因此我不得不降级到3.5。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

引用的项目必须是Copy Local:True 参考 - >属性 - >复制本地:True

答案 1 :(得分:0)

批量清理解决方案中的所有项目,确保依赖关系图中的所有项目都以.NET 3.5框架为目标。检查.csproj文件中的引用的HintPath(使用文本编辑器打开)以获取对外部DLL的引用,并确保它们都是< = 3.5。

  

但是,由于我需要使用ASP.NET Web服务,因此我不得不降级到3.5。

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

答案 2 :(得分:0)

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

我发现这种行为有两个可能的原因:

  1. 您的主项目引用了比您的库项目更低版本的.NET框架(这是最可能的原因)。
  2. 您的库项目将无法完全构建或以错误的顺序构建(请检查配置管理器中的设置。右键单击solition explorer中的解决方案打开它。)