我有一个Visual Studio 2005 .NET解决方案,它有20多个子项目,包括一个部署项目。 VS2005 .NET部署项目具有许多检测到的依赖关系,这些依赖关系已被手动排除,并且手动添加了更正值。
但有时,这些检测到的依赖项会被神奇地排除在外,这会在构建时触发警告: 警告:两个或多个对象具有相同的目标位置('[targetdir] \')
导致检测到的依赖关系被排除的触发器是什么?部署解决方案是否可以将其警告视为错误,以便夜间构建不会继续?
答案 0 :(得分:1)
我有同样的问题并且在放弃并转移到WiX之前处理了大约一年。由于MSBuild for VS2005无法与部署项目一起使用,因此我不得不“双重构建”我的构建也没有帮助。
无论如何,您可能需要考虑安装WiX之类的东西。
答案 1 :(得分:1)
当依赖项目在依赖DLL上设置“复制本地”时,会发生这种情况。部署/安装项目将DLL的源和副本都列为依赖项。
答案 2 :(得分:0)
好的,这比其他任何事情更像是hack:)
您通常在visual studio下有2个选项:
a)排除重复的DLL
或
b)将重复的DLL的 Condition 属性设置为不同的属性。
问题在于,使用这两种方法,你仍然会让它们神奇地重置并像以前一样得到警告..
对我们有用的是以下解决方案:
a)转到设置项目并创建自定义文件夹
b)将自定义文件夹的 DefaultLocation 属性设置为您需要放置这些DLL的属性。即对于ASP.NET应用程序,值为[TARGETDIR] \ bin
c)然后将所有重复的dll拖放到此文件夹中,您现在不应该收到任何警告。
就是这样。你不应该得到那些dll的警告,如果你有任何额外的只是将它们拖到这个文件夹中。
希望这有帮助。
-Konstantinos
答案 3 :(得分:0)
如果您在同一个项目中使用多个开发环境,那么此处对检测到的依赖关系刷新的讨论可以解释该行为: