【问题标题】:Add Company Name, Product Name, etc to Mixed Mode Assembly DLL将公司名称、产品名称等添加到混合模式程序集 DLL
【发布时间】:2014-01-21 22:02:51
【问题描述】:

我正在使用 C++/CLI 构建混合模式程序集,但我不知道如何添加标准 Windows 程序集属性,例如公司名称、版权、产品名称、版本等。没有资源文件就像AssemblyInfo.cs 在 C# 中一样。我尝试了 Add->Resource->Version 但这只是给了我一个标准的ProjectName.rc。有人知道怎么做吗?

【问题讨论】:

  • 标准rc文件有什么问题???

标签: c++-cli mixed-mode assemblyinfo


【解决方案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

【讨论】:

    【解决方案2】:

    标准 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")];
    

    【讨论】:

    • 是的,但是在添加了std RC文件后,我如何获得截图中显示的编辑器?
    • 我必须输入您在 RC 文件中显示的代码吗?是 C++/CLI 代码还是 C# 代码?
    • 只要双击rc文件...如果你有express edition,那么你可以在文本编辑器中“手动”编辑资源文件...
    • 如果你在 rc 文件上右击并选择“属性”,它是否显示:“项目类型:资源编译器”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    相关资源
    最近更新 更多