Visual Studio 2017中的参考文献在引擎盖下方变化



我在一个文件夹中有一堆汇编.dll。我打开一个项目并将引用添加到这些文件中。

et voila',Visual Studio将这些DLL复制到输出文件夹(调试/发布/WHITHER)中,更改参考文献,以便它们在此处指向并...将其留在PRJ文件中。

结果:我更新一个,某些,所有DLL和Visual Studio都无法关心'因为它要使用的只是本地DLL。而且,要添加魔术,如果我进行重建(干净,然后进行构建),则引用不再有效,因为清洁删除了复制的文件。

为什么这样做?

好吧,我随机找到答案,这只是设置不良名称的问题。

首先,Visual Studio有一个选项" local":您可能会认为将其设置为" no"会做到这一点,但它不起作用(很明显,在您尝试之后),因为如果他不这样做't在输出文件夹中复制dll,然后在软件运行时找不到它们(除非我们在GAC中谈论组件,但这是一个不同的故事)。

本身的问题是,Visual Studio应该从原始源复制本地,并保留对此的参考,相反,它在输出文件夹中复制一次,从那时起,它在内部将引用更改为输出文件夹。它仍然将原始引用保留到PRJ文件中,但随后它忽略了它们(因此,如果您清洁项目或解决方案,则不再有DLL,并且不再编译了)

解决方案?标记为"特定版本"的设置。尽管它的名称,它并未强制使用您引用的DLL的特定版本,但它只是告诉Visual Studio(与copy local = yes相结合)等效的"始终"。

最新更新