无法发出程序集:<error message>
更新:2007 年 11 月
Visual Basic 编译器会调用程序集链接器(Al.exe,也称为 Alink)来生成一个具有清单的程序集,而该链接器会在创建该程序集的发出阶段报告一个错误。
**错误 ID:**BC30145
更正此错误
检查引用的错误信息并参考 Al.exe 工具错误和警告 主题,以获得进一步的解释和建议。
使用 程序集链接器 (Al.exe) 或 强名称工具 (Sn.exe),尝试手动签发程序集。
如果仍然出现错误,则收集有关该情况的信息并通知 Microsoft 产品支持服务。
手动签发程序集
使用 强名称工具 (Sn.exe) 创建公钥/私钥对文件。
此文件的扩展名为 .snk。
从项目中删除生成错误的 COM 引用。
从 Windows“开始”菜单,指向“程序”,指向“Microsoft Visual Studio 2008”,指向“Visual Studio 工具”,然后单击“Visual Studio 2008 命令提示”。
移动到要放置程序集包装的目录。
键入以下代码。
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"
如果路径或文件包含空格,则使用双引号 (")。
在 Visual Studio 中,添加对刚创建的文件的 .NET 程序集引用。