我对我的项目使用的辅助 DLL 进行了更改,当然构建了它,将旧版 DLL 重命名为 *.dll_old,并将新版本的 DLL 复制并粘贴到同一文件夹中。
但是,当我随后运行使用 DLL 的应用程序时,它出错了:
"An expected error has occurred...bla bla bla...or select Details for more information.
我确实选择了详细信息,并看到:
TypeLoadException
File or assembly name <name of the DLL, which I just replaced>
Version=<bla>
Culture=neutral
PublicKeyToken=null, or one of its dependencies, was not found.
更新
根据评论,我想替换 DLL 比人们预期的要多。我不知道这是否重要,我认为替换 DLL 就像替换 EXE,但可能不是:DLL 项目的 AssemblyInfo.cs 说,
[assembly: AssemblyVersion("1.3.*")] // used by .NET framework only
[assembly: AssemblyFileVersion("1.3.0.308")] // File Version - increment here
[assembly: AssemblyInformationalVersion("6.3.0")] // Product version - set to current IEQ system
...并且错误消息中的版本是“1.3.3889.27539”
我是否需要将这些行之一(如果是的话,我猜是中间行)更新为该值(1.3.3889.27539)?或者...???
更新
因此,由于 .DLL 没有强命名,我尝试简单地删除使用 DLL 的项目中的引用(对旧 .DLL),然后再次将其添加回来(相同的文件名,不同的版本)。不过,我看到更新 .DLL 不会更改上面显示的版本号 - IOW,AssemblyInfo.cs 在构建时不会更新。应该是?我需要手动更新这些 vals 吗?