无法嵌入 C++/CLR 程序集版本号
Cannot embed C++/CLR Assembly Version number
我在我的 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”:
我在这里遗漏了什么吗?
谢谢
我发现自己面临相同(或类似)的问题:我在解决方案中包含一个 CLI C++ 库,其汇编版本为 0.0.0.0。
我能够更改它的唯一方法是将名为 AssemblyInfo.cpp 的新源文件添加到che CLI C++ 库包含以下行:
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汇编版本。希望对其他人有帮助!
我在我的 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”:
我在这里遗漏了什么吗? 谢谢
我发现自己面临相同(或类似)的问题:我在解决方案中包含一个 CLI C++ 库,其汇编版本为 0.0.0.0。
我能够更改它的唯一方法是将名为 AssemblyInfo.cpp 的新源文件添加到che CLI C++ 库包含以下行:
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汇编版本。希望对其他人有帮助!