在 Visual Studio 2005 C++ 中设置文件版本号

Posted

技术标签:

【中文标题】在 Visual Studio 2005 C++ 中设置文件版本号【英文标题】:Setting file version number in Visual Studio 2005 C++ 【发布时间】:2008-11-21 09:59:05 【问题描述】:

谁能指出正确的方向如何使用我们的 C++ 控制台项目配置 Visual Studio 2005 我们如何在文件属性的详细信息部分中包含“文件版本”。

我已经尝试过资源文件,但没有任何运气。这是一个 C++ 项目,只是为了澄清,非常感谢您对 C# 建议做出回应的人。

提前致谢。

【问题讨论】:

【参考方案1】:

如果说的是非托管 c++,则需要在项目中添加版本资源。

右键单击项目,选择添加 - 资源...。选择版本并按新建。 在那里你可以输入你需要的所有信息。

【讨论】:

我在项目上右击没有看到“版本”资源,选择添加-资源。 @RedFox "How to: Create a Resource" 有帮助吗?请注意,此答案不适用于 C++/CLI 项目,也不适用于用 C++ 编写的 Windows 商店应用程序。【参考方案2】:

您的资源 (*.rc) 文件中必须有一个 VS_VERSION_INFO 部分,以便编译到您的项目中。

在 Visual Studio 2005 解决方案资源管理器中,打开 C++ 项目的上下文菜单并选择“添加”、“资源”。

标记版本并单击“新建”。

根据需要填写字段并保存文件。

构建。

现在您的项目输出有一个 FileInfo 资源。

请注意,Windows Vista 不会在资源管理器上下文菜单的“详细信息”选项卡中显示所有可用的版本信息。

【讨论】:

【参考方案3】:

对于 c++ 项目,我使用 StampVer 并将其称为构建后操作,包括签入/签出发布版本的修订控制。

【讨论】:

【参考方案4】:

除非您有充分的理由让您的文件版本与内部程序集的版本不同,否则我认为最好单独提供 AssemblyVersion。如果您不指定 AssemblyFileVersion,它将自动获得相同的值,因此您可以直接在文件的属性中查看程序集的版本。

优点是您可以使用通配符并允许版本自动递增,因此每次编译库时都会获得不同的构建和/或修订号。据我所知,这个技巧不适用于AssemblyFileVersion,所以你必须手动增加它。

当然,所有这些仅适用于您编写 .NET 代码的情况。您是否有机会谈论使用非托管代码的项目?

【讨论】:

以上是关于在 Visual Studio 2005 C++ 中设置文件版本号的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2005 C++ 运行时新异常

链接错误2005 Visual Studio 2008 C++

如何使用 Visual Studio 2005 在两个不同的 c++ 程序之间获取返回值

Visual Studio C++ 2005-2013 中的智能感知缺少函数定义

C++ 项目依赖问题 Visual Studio 2005

如何将 C++ Visual Studio 2008 项目降级到 2005