我在C#WinForms应用程序(.NET 3.5)中使用C ++ CLR DLL。 我根据找到的所有指令设置了程序集信息,但在VS2015中查看我的C#应用程序时,DLL元数据一直显示" 0.0.0.0"。
以下是我的CPP和结果的一些截图:
资源文件 - app.rc. 它还包括" version.h"如下所示。
version.h中:
当我看到DLL文件属性时,我可以看到以下内容:
但最后,当我查看从托管CPP生成的C#代码时,我发现它是" 0.0.0.0":
我有什么东西在这里失踪吗? 感谢。
答案 0 :(得分:0)
我发现自己面临着相同(或相似)的问题:解决方案中包含一个CLI C ++库,其汇编版本为0.0.0.0。
我能够更改它的唯一方法是将一个名为 AssemblyInfo.cpp 的新源文件添加到包含以下几行的che C C ++库中: / p>
using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::CompilerServices;
using namespace System::Runtime::InteropServices;
using namespace System::Security::Permissions;
[assembly:AssemblyTitleAttribute(L"CliLibrary")];
[assembly:AssemblyDescriptionAttribute(L"")];
[assembly:AssemblyConfigurationAttribute(L"")];
[assembly:AssemblyCompanyAttribute(L"")];
[assembly:AssemblyProductAttribute(L"CliLibrary")];
[assembly:AssemblyCopyrightAttribute(L"Copyright (c) 2019")];
[assembly:AssemblyTrademarkAttribute(L"")];
[assembly:AssemblyCultureAttribute(L"")];
[assembly:AssemblyVersionAttribute("1.0.0.0")]; // <-- This is the version string
[assembly:ComVisible(false)];
[assembly:CLSCompliantAttribute(true)];
重新编译DLL之后,我最终将 1.0.0.0 阅读为DLL程序集版本。希望对别人有帮助!