VS2015编译器忽略对我的DLL的所有引用

时间:2015-12-18 18:44:25

标签: c# visual-studio-2015

我正在开发Windows 10上的VS2015 Update 1

我写在这里因为4小时后我完全迷失了......

今天我已经启动了我的基础库解决方案的重建,它是我最早的项目,并且已经在上周正确编译。

但是今天,对于引用我的其他一个或多个dll的所有项目,编译器会出现CS0234或CS0246错误。好像引用的DLL不在引用它的位置或者它是不可读的......我无法理解为什么......

解决方案包含多个项目,构建顺序正确(因为我的TFS上的构建机器正确构建它们)

构建其DLL后的每个项目都将其发布到文件夹B:\ CommonDll上,所有引用都在此文件夹上完成。 使用Add Reference,Browse,打开B:\ commondll文件夹并将其添加到项目中。

今天,编译器决定所有这些dll都不存在,它们不会复制到bin \ debug文件夹中,结果会导致CS0234或CS0245错误。

因为它似乎有一些许可问题, 我已经检查了磁盘和文件夹上的用户权限,我删除并重新创建了文件夹,我已经停用了UAC,重置了PC几次正常运行Visual Studio或者作为管理员,我试过使用了另一个磁盘上的文件夹,错误仍然存​​在。 我制作了一个scandisk,一个checkdisk,一个干净的磁盘,重新应用了所有文件和文件夹和对象的用户权限。 我在编译之前删除了项目的bin和obj文件夹。

唯一有效的测试是通过项目直接引用库,但我不打算应用它,因为使用所有这些库是完全不切实际的。

如果您对我还能尝试的其他方法有任何线索,我将永远感激......

1 个答案:

答案 0 :(得分:2)

我没有在我面前有VS2015的副本,但我知道VS2013及更早版本中的引用在项目文件中使用了提示路径,有时会获得非常不稳定。这些是装配的相对路径,有时候,只是各种奇怪的。

尝试在纯文本编辑器(如Notepad或Notepad ++)中打开.CSPROJ或.VBPROJ文件,然后查找<HintPath>元素。这应该是您尝试引用的程序集的相对路径。如果它看起来很奇怪,可能会引起混淆。

提供建议

您从可能位于解决方案根目录之外的文件夹中引用程序集。这通常不是一个好主意,除非这些程序集在GAC中。移动该文件夹,使其位于解决方案根文件夹下,并从那里引用它们。

事情应该更加顺利。