2015-11-04 80 views
0

所以我完全被这个摸索。之前使用完全相同的方法,但是这次我有一个从nuget packages -directory引用的程序集,它具有复制本地设置为true的功能,并且是强名称引用。ClickOnce部署和复制依赖-entry

如果我再运行从VS我的开发机器上发布,正确生成清单。然而,当我在构建机器上运行它,因为一些莫名其妙的原因,清单包含重复的依赖项为同一组件,其中一个是完全一样的我自己的机器上,但其他人有一个dependencyType="preRequisite,甚至更神秘,引用了一个完全不同的版本所使用的组件的绝对没有在那里(我已经通过我的.csproj文件中查找一百万次,并不能找到任何东西)。

当我尝试安装应用程序时,这显然会爆炸,因为一方面,我甚至没有指定preRequisite的版本,并且我特别没有在GAC中的任何机器上安装它。事实上,没有任何版本的程序集位于所讨论的任何机器的GAC中。

所以,我真的不知道该怎么继续。如果我可以简单地从清单中删除那个愚蠢的依赖项,那么一切都会好起来的。但是,所有这一切都发生在构建服务器上(我猜,这是构建过程中的一部分),这似乎更复杂一些。

最后,在另一个项目中,我实际上拥有完全相同的程序集引用,并且它按预期工作。究竟是什么造成了这种情况?

回答

0

好了,我也终于得到它的工作。问题在于构建服务器有安装程序安装的第三方组件的不同版本,即使该组件是通过NuGet使用的。

(相当脏)修复只是从安装目录中找到有问题的文件并将其删除。我仍然不知道为什么它只发生在那个dll上,而不发生在其他第三方dll上。