在 Visual Studio 2005 C++ 中设置文件版本号
任何人都可以为我指出正确的方向,如何使用我们的 C++ 控制台项目配置 Visual Studio 2005,如何在文件属性的详细信息部分中包含“文件版本”。
我尝试过资源文件但没有任何运气。 这是一个 C++ 项目,只是为了澄清,非常感谢那些回复 C# 建议的人。
提前致谢。
Can anyone point me in the right direction how to configure Visual Studio 2005 with our C++ console project how we can include a 'File Version' in the details section of the file properties.
I've tried resource files without any luck. This is with a C++ project just for clarification, and big thank you for the guys you responded with C# suggestions.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您正在谈论非托管c++,则需要向项目添加版本资源。
右键单击该项目,选择“添加”-“资源...”。选择“版本”并按“新建”。
您可以在那里输入您需要的所有信息。
If you are talking about unmanaged c++, you need to add a version resource to the project.
right-click on the project, choose add - Resource.... Choose Version and press new.
There you can enter all info you need.
您的资源 (*.rc) 文件中必须有一个可编译到项目中的
VS_VERSION_INFO
部分。在 Visual Studio 2005 解决方案资源管理器中,打开 C++ 项目的上下文菜单,然后选择“添加”、“资源”。
标记版本并单击“新建”。
根据需要填写字段并保存文件。
建造。
现在您的项目输出具有 FileInfo 资源。
请注意,Windows Vista 不会在资源管理器上下文菜单的“详细信息”选项卡中显示所有可用的版本信息。
You have to have one
VS_VERSION_INFO
section in your resource (*.rc) file(s) that compile into your project.In the Visual Studio 2005 Solution Explorer, open the context menu on your C++ project and choose Add, Resource.
Mark Version and click "New".
Fill in the fields as desired and save the file.
Build.
Now your project output has a FileInfo resource.
Please be aware that Windows Vista does not show all available version info in the Explorer context menu's "Details" tab.
对于 C++ 项目,我使用 StampVer 并将其称为构建后操作,包括签入/签出发布版本的修订控制。
For c++ projects I use StampVer and call it as a post build operation including check in/out of revision control for release builds.
除非您有充分的理由让文件版本与内部程序集的版本不同,否则我认为单独提供 AssemblyVersion 是一个更好的主意。 如果您不指定AssemblyFileVersion,它将自动获取相同的值,因此您可以直接在文件的属性中查看程序集的版本。
优点是您可以使用通配符并允许版本自动递增,以便每次编译库时您都会获得不同的内部版本号和/或修订号。 据我所知,这个技巧不适用于 AssemblyFileVersion,因此您必须手动增加它。
当然,所有这些仅适用于您编写 .NET 代码的情况。 您是否有机会谈论使用非托管代码的项目?
Unless you have a good reason for your file version to be different than the version of the assembly inside, I think it is a better idea to provide the AssemblyVersion alone. If you do not specify an AssemblyFileVersion, it will automatically get the same value, so you can see your assembly's version directly in the file's properties.
The advantage is that you can use a wildcard and allow the version to be automatically incremented, so that every time you compile the library you get a different build and/or revision number. As far as I can tell, this trick does not work with AssemblyFileVersion, so you have to increment it by hand.
Of course, all this only applies if you're writing .NET code. Are you by any chance talking about a project using unmanaged code?