如果程序集在GAC

时间:2016-05-31 15:52:03

标签: c# .net msbuild

我遇到了一个问题,即使将依赖项目的copylocal设置为true,Visual Studio也希望重建所有内容,因为输出dll不会被复制到依赖于它们的项目的bin目录中。 / p>

当我去构建时,msbuild检测到引用程序集不在当前项目的输出文件夹中,它检查它是否是最新的,然后构建它,我相信只需使用GAC DLL而无需复制它。似乎输出中的文件检测与实际决定使用的文件之间存在脱节。

如果我从GAC中删除依赖程序集,则副本正常工作,一切都会不断停止重建。如果我还切换CopyLocal属性并允许将<private>true</private>标记添加到.csproj文件中以获取可疑引用,它也会解决我的问题。

问题是这些项目不属于我的团队,我们也不想修改它们。我的团队成员也有相同的开发机器和相同的软件,这个问题并没有发生。另一个问题是我们的产品所依赖的某些软件在运行时会自动将程序集安装到GAC,因此我无法将其删除。

有没有人经历过这一点,并且对于为什么会这样做有任何见解?

Visual Studio 2013 Update 5,.net 4.6.1

0 个答案:

没有答案