为什么我的DLL引用被设置回以前的设置?

为什么我的DLL引用被设置回以前的设置?,dll,deployment,reference,visual-studio-project,visual-studio-setup,Dll,Deployment,Reference,Visual Studio Project,Visual Studio Setup,我有一个.EXE/.DLL对需要保持同步 .EXE具有对DLL的引用 实际上,我需要做的似乎就是将我最新的DLL复制到最新的EXE所在的文件夹中,以使EXE在运行时引用正确的DLL(它旁边的那个) 但是,必须更新.EXE项目,以便在我更新.EXE时显式引用新的DLL。我通过以下方式做到这一点: Removing the old DLL reference from the EXE project Adding back the reference, pointing to the locatio

我有一个.EXE/.DLL对需要保持同步

.EXE具有对DLL的引用

实际上,我需要做的似乎就是将我最新的DLL复制到最新的EXE所在的文件夹中,以使EXE在运行时引用正确的DLL(它旁边的那个)

但是,必须更新.EXE项目,以便在我更新.EXE时显式引用新的DLL。我通过以下方式做到这一点:

Removing the old DLL reference from the EXE project
Adding back the reference, pointing to the location of the latest version of the DLL
注意:如果没有这些步骤,.EXE可以很好地编译,但在引用旧文件并与新文件共存时,它不会运行

潜在的问题是,每当我返回到.EXE项目时,它都会返回到引用旧的DLL,而不是我最近将其设置为引用的DLL!现在,我用一个路径删除版本1.3.3889.27538,用另一个路径(DLL项目的输出文件夹)中的版本1.4.0.8替换它,并且.EXE编译(并运行)良好,但是当我再次打开EXE项目时,DLL再次引用DLL的版本1.3.3889.27538,指向该版本的路径

是否有某个地方的设置在我转身时顽固地恢复到旧的DLL

我不知道这是否重要,但EXE项目中DLL引用的“Copy Local”属性设置为“True”

更新 注意:当我删除并添加回DLL引用(到DLL的最新版本)然后生成EXE时,我必须在一个对话框上选择“确定”,该对话框通知我,“保存文件“.csdproj.user”的项目用户选项时出错”

然后,我必须在“文件另存为”对话框中选择“保存”按钮来保存项目文件。一旦我选择“是”替换现有文件,它就会正常生成


当您向.NET项目添加对第三方类库(DLL)的引用时,会在项目配置(.csproj或.vbproj)文件中显示相应的行。该行与其他设置一起指定引用类库的程序集版本。例如:

<Reference Include="Telerik.WinControls, Version=2015.1.225.40, Culture=neutral, PublicKeyToken=5bb2a467cbec794e, processorArchitecture=MSIL" />

这意味着:如果您更新外部第三方库的版本,您还需要显式更新项目参考

如果希望外部类库始终指向最新版本,则它必须是项目引用。换句话说,将类库项目添加到解决方案中,然后在主项目中仅添加对该项目(DLL)的引用。这样,您将始终在输出文件夹中获得最新的依赖DLL

但是,如果您使用的是第三方库,则必须显式更新项目引用以指向最新的DLL