无法发出程序集:<error message>

更新:2007 年 11 月

Visual Basic 编译器会调用程序集链接器(Al.exe,也称为 Alink)来生成一个具有清单的程序集,而该链接器会在创建该程序集的发出阶段报告一个错误。

**错误 ID:**BC30145

更正此错误

  1. 检查引用的错误信息并参考 Al.exe 工具错误和警告 主题,以获得进一步的解释和建议。

  2. 使用 程序集链接器 (Al.exe)强名称工具 (Sn.exe),尝试手动签发程序集。

  3. 如果仍然出现错误,则收集有关该情况的信息并通知 Microsoft 产品支持服务。

手动签发程序集

  1. 使用 强名称工具 (Sn.exe) 创建公钥/私钥对文件。

    此文件的扩展名为 .snk。

  2. 从项目中删除生成错误的 COM 引用。

  3. 从 Windows“开始”菜单,指向“程序”,指向“Microsoft Visual Studio 2008”,指向“Visual Studio 工具”,然后单击“Visual Studio 2008 命令提示”。

  4. 移动到要放置程序集包装的目录。

  5. 键入以下代码。

    tlbimp <path to COM reference file> /out:<output assembly name> /keyfile:<path to .snk file>
    

    下面是您可能会输入的代码的示例。

    tlbimp c:\windows\system32\msi.dll /out:Interop.WindowsInstaller.dll /keyfile:"c:\documents and settings\mykey.snk"
    

    如果路径或文件包含空格,则使用双引号 (")。

  6. 在 Visual Studio 中,添加对刚创建的文件的 .NET 程序集引用。

请参见

任务

如何:创建公钥/私钥对

参考

程序集链接器 (Al.exe)

Al.exe 工具错误和警告

强名称工具 (Sn.exe)

其他资源

产品支持和辅助功能