Поделиться через


Не удается выпустить сборку: <сообщениеОбОшибке>

Обновлен: Ноябрь 2007

Unable to emit assembly: <error message>

Компилятор Visual Basic вызывает компоновщик сборок (Al.exe, также называемый Alink) для создания сборки с манифестом. При этом компоновщик сообщает об ошибке на этапе вывода.

Идентификатор ошибки: BC30145

Чтобы исправить эту ошибку

  1. Прочтите сообщение об ошибке и обратитесь к разделу Ошибки и предупреждения программы Al.exe для получения дальнейших пояснений и советов.

  2. Попробуйте подписать сборку вручную, используя либо Компоновщик сборок (Al.exe), либо Средство строгих имен (Sn.exe).

  3. Если ошибка продолжает возникать, соберите сведения об обстоятельствах ее возникновения и сообщите их службе технической поддержки корпорации Майкрософт.

Подписание сборки вручную

  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 Assembly на созданный файл.

См. также

Задачи

Практическое руководство. Создание пары открытого и закрытого ключей

Ссылки

Компоновщик сборок (Al.exe)

Ошибки и предупреждения программы Al.exe

Средство строгих имен (Sn.exe)

Другие ресурсы

Поддержка и продукта специальные возможности