【问题标题】:How do you set the version of a C++/CLI project in Visual Studio?如何在 Visual Studio 中设置 C++/CLI 项目的版本?
【发布时间】:2014-04-21 19:47:21
【问题描述】:

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

我的 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)];

【问题讨论】:

    标签: visual-studio-2012 c++-cli


    【解决方案1】:

    Windows 资源管理器中的“详细信息”页面正在从文件中的非托管结构中提取信息,因此您需要创建一个非托管版本资源才能填写。

    1. 在 Visual Studio 中,将“资源文件 (.rc)”添加到您的项目(如果您还没有的话)。
    2. 在资源文件中,添加一个新的“版本”资源。
    3. 填写您的信息。

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

    【讨论】:

    • 你创建了什么样的项目?我刚刚发布了我的 AssemblyInfo.cpp 文件的代码。
    • 呸,我在我目前正在处理的应用程序中使用了一个项目文件,它已经在两个地方提供了满足托管和非托管土地的信息。使用该项目之前所做的编辑答案以使其正确显示。很抱歉造成混乱。
    【解决方案2】:

    有两个属性; AssemblyVersion 属性和 AssemblyFileVersion 属性。使用 C# 编译器,如果未提供 AssemblyFileVersion,文件版本将跟踪 AssemblyVersion。我不记得 C++/CLI 编译器的行为是否有所不同,但肯定值得一试AssemblyFileVersion

    【讨论】:

    • 我也尝试添加 AssemblyFileVersion,但它也没有效果。
    【解决方案3】:

    您可以修改文件夹\app.rc\Version 中的VS_VERSION_INFO 文件。您可以使用 Resource Visualizzation IDE 来显示此信息文件。

    【讨论】:

      猜你喜欢
      • 2012-05-05
      • 2011-06-02
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多