【发布时间】:2014-09-04 16:01:38
【问题描述】:
我有一个需要保持同步的 .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 ——而不是我最近设置它引用的那个! IOW,我用一个路径删除版本 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”的项目用户选项
然后我必须在“将文件另存为”对话框中选择“保存”按钮来保存项目文件。一旦我选择“是”来替换已经存在的文件,它就可以正常构建了。
隐含? Es importante o de nada?
【问题讨论】:
标签: dll deployment reference visual-studio-project visual-studio-setup