如何在Visual Studio中设置C++/CLI项目的版本?

Dzy*_*ann 16 c++-cli visual-studio-2012

我正在使用C++/CLI项目,该项目在Visual Studio 2012中包装C++本机库.

我的C++/CLI项目有一个AssemblyInfo.cpp.我在那里设置了所有字段,其中包括"AssemblyVersionAttribute".但是,当我在Windows资源管理器中构建项目并检查其属性时,版本信息为空.

这是我的第一个C++/CLI项目,我一直在查看项目属性中的所有选项,但我找不到任何可用于设置版本的选项.

如何设置C++/CLI项目的版本?


更新

我将添加AssemblyInfo.cpp的内容.我刚刚填写了现有的字段,这是在我创建项目时自动生成的.

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::CompilerServices;
using namespace System::Runtime::InteropServices;
using namespace System::Security::Permissions;

[assembly:AssemblyTitleAttribute("MyTitle")];
[assembly:AssemblyDescriptionAttribute("")];
[assembly:AssemblyConfigurationAttribute("")];
[assembly:AssemblyCompanyAttribute("")];
[assembly:AssemblyProductAttribute("MyProduct")];
[assembly:AssemblyCopyrightAttribute("Copyright © 2014")];
[assembly:AssemblyTrademarkAttribute("Inc")];
[assembly:AssemblyCultureAttribute("")];
[assembly:AssemblyVersionAttribute("3.9.0")];
[assembly:ComVisible(false)];
[assembly:CLSCompliantAttribute(true)];
[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
Run Code Online (Sandbox Code Playgroud)

Dav*_*Yaw 21

Windows资源管理器中的"详细信息"页面从文件中的非托管结构中提取信息,因此您需要创建非托管版本资源才能填充该文件.

  1. 在Visual Studio中,如果您还没有项目,请在项目中添加"资源文件(.rc)".
  2. 在资源文件中,添加新的"Version"资源.
  3. 填写您的信息.

我建议您也在AssemblyInfo.cpp文件中维护各种程序集属性.如果使用反射来获取有关程序集的信息,它将使用AssemblyInfo.cpp中的内容,而不是版本资源中的内容.