gpt4 book ai didi

.net - tlbimp如何用于指定不同的文件和程序集版本?

转载 作者:行者123 更新时间:2023-12-04 04:08:02 25 4
gpt4 key购买 nike

我们正在使用tlbimp生成互操作程序集。我们想在互操作程序集上同时标记一个文件版本和一个程序集版本。但是,tlbimp上的/asmversion选项似乎将它们都设置为相同的值。

有谁知道如何使用tlbimp在互操作程序集上设置不同的文件和程序集版本?

最佳答案

最后,我们在Codeplex上找到了一个有关名为tlbimp2的项目的链接,并编译了我们自己的tlbimp2修改版本:

  • http://clrinterop.codeplex.com/discussions/208832
  • http://clrinterop.codeplex.com/SourceControl/changeset/view/39798

  • 我从2的tlbimp项目中获取了代码,并按照1的方式对其进行了修改。我们必须解决一些问题:

    在TlbImp.cs中,由于FileVersion属性为空,因此我必须根据FileVersionInfo.GetVersionInfo的结果显式地汇编文件版本号:
        if (Options.m_strFileVersion == null)
    {
    // get the fileversion
    var versionInfo =
    FileVersionInfo.GetVersionInfo(Options.m_strTypeLibName);
    Options.m_strFileVersion =
    versionInfo.FileMajorPart
    + "." + versionInfo.FileMinorPart
    + "." + versionInfo.FileBuildPart
    + "." + versionInfo.FilePrivatePart;
    }

    在tlbimpcode.cs中,我不得不切换:
     AsmBldr.DefineVersionInfoResource(
    strProduct,
    strProductVersion,
    strCompany,
    strCopyright,
    strTrademark);

    至:
     AsmBldr.DefineVersionInfoResource();

    否则将不使用自定义资源。

    希望这可以帮助其他遇到相同问题的人。

    关于.net - tlbimp如何用于指定不同的文件和程序集版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5455520/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com