我正在使用C ++ / CLI构建混合模式程序集,但我无法弄清楚如何添加标准Windows程序集属性,如公司名称,版权,产品名称,版本等。没有资源文件像AssemblyInfo.cs
一样在C#中起作用。我尝试了Add-> Resource-> Version,但这只是给了我一个标准ProjectName.rc
。谁知道怎么做?
答案 0 :(得分:1)
标准的rc文件将为您提供标准版本信息,可以在资源管理器中通过右键单击文件并选择“属性”来查看。
可以使用程序集属性插入程序集信息:
[assembly:AssemblyTitleAttribute("MCPP_Console")];
[assembly:AssemblyDescriptionAttribute("")];
[assembly:AssemblyConfigurationAttribute("")];
[assembly:AssemblyCompanyAttribute("??")];
[assembly:AssemblyProductAttribute("MCPP_Console")];
[assembly:AssemblyCopyrightAttribute("Copyright (c) ?? 2014")];
[assembly:AssemblyTrademarkAttribute("")];
[assembly:AssemblyCultureAttribute("")];
[assembly:AssemblyVersionAttribute("1.0.0.0")];
答案 1 :(得分:1)
花了一段时间才弄明白,而且GUI有问题所以我终于手工编辑了它。我已经粘贴了生成正确的Windows程序集属性的ProjectName.rc
的最终内容。您只需创建一个RC文件并将其粘贴到其中即可。
如果您的项目是EXE项目,请将FILETYPE 0x2L
替换为FILETYPE 0x1L
#include <windows.h>
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
///////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "Sample Application"
VALUE "CompanyName", "My Company"
VALUE "FileDescription", "My Application"
VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "MyProject"
VALUE "LegalCopyright", "Copyright (C) My Company 1999"
VALUE "OriginalFilename", "MyProject.dll"
VALUE "ProductName", "MyProject"
VALUE "ProductVersion", "1, 0, 0, 1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END