构建我的解决方案时DLL未更新

问题描述:

奇怪的情况。构建我的解决方案时DLL未更新

里面的解决方案我有几个项目。其中一个叫做Common,另一个是一个名为Internal的web项目(不是web应用程序)。

内部引用了Common,所以每次构建应用程序时,都会将公共DLL复制到Internal网站上的bin文件夹中。

如果我在Common项目的类上更改一行代码并重新构建它,则DLL不会更新内部bin文件夹(即使我重新构建内部),导致运行Common()的OLD代码如果我在Common上有一个断点,它会显示一条警告,说代码与原始代码不同并且不会运行)。我设法解决它的唯一方法是手动删除Internal上的Common DLL,然后重建。

我的问题是,我该如何避免它?如何可以永远在内部相同的版本?

感谢

+0

好吧我不确定这里,但如果你去内部,查看引用哪里共同被引用,并去它的属性。复制本地应该设置为True。我认为这是它,但我不是专家,所以我不确定。 – 2012-02-27 13:09:38

+1

当你做了一个'添加引用'时,你是通过“浏览”还是通过“项目”选择了DLL?编辑:刚刚看到上面的评论,那就是我下一步要去的地方! – 2012-02-27 13:10:16

+0

您是否尝试将该复制到输出目录设置为“复制总是”该DLL? – 2012-02-27 13:11:09

按照要求通过OP:

尝试取出参考,虽然在“添加引用”对话框中的“项目”选项,再添加。这应该设置在重建时刷新的DLL。

一个可能的解决方案,简单的可以是使用简单PostBuildEvent你把批处理代码,在成功打造总是份文件需要。

糟糕的是你增加了编译时间。

如果您使用的第三方DLL已经被开发出更高版本的VS2013/vs2015(即.NEt 4.5,4.6,4.6.2),那么它将无法在VS2010中正常工作 答案:将您的项目转换为VS2015解决问题或安装.NET 4.6.2和用户VS2013,并将框架更改为最新的