Сильное название сборки с использованием компиляции командной строки

StackOverflow https://stackoverflow.com/questions/2857955

Вопрос

Я пытаюсь использовать NANT, чтобы компилировать и подписать сборку с помощью компилятора VBC. У меня есть проект, установленный и сможем успешно подписать сборку с помощью VS2010. Когда я пытаюсь подписать его, используя командную строку, я получаю эту ошибку:

vbc : error BC30140: Error creating assembly manifest: Error signing assembly -- The parameter is incorrect.

Я даже создал тривиально простое приложение (просто файл assementInfo.vb), который не будет компитен и подписать, используя VBC.EXE, что я делаю не так?

Вот мой assustryinfo.vb:

Option Strict Off
Option Explicit On

Imports System
Imports System.Reflection
<Assembly: AssemblyVersionAttribute("2010.05.18.0918"),  _
 Assembly: AssemblyCopyrightAttribute("Copyright © Patient First 2007"),  _
 Assembly: AssemblyCompanyAttribute("Patient First, Inc."),  _
 Assembly: AssemblyProductAttribute("Patient First Framework"),  _
 Assembly: AssemblyDelaySign(false),  _
 Assembly: AssemblyKeyFile("test.pfx"), _
 Assembly: AssemblyTitleAttribute("PatientFirst.Framework")>

test.pfx расположен в той же папке, что и assularfo.vb

Вот как я пытаюсь компилировать это:

vbc /target:library /verbose assemblyinfo.vb

Я также пытался использовать

vbc /target:library /verbose assemblyinfo.vb /keyfile:test.pfx

и попробовал использование / параметр KeyFile без атрибутов AssemblyDeLaySign и AssumbleyFile

Если я удаляю атрибуты AssemblyDeLaySign и AssemblySeyFile и оставьте параметр командной строки / KeyFile, он точно компилирует. Какой правильный способ сделать это с VBC?

--Edit: Я обнаружил, что MSBuild также не любит атрибут AssocialkeyFile, поскольку я определил его в сборке COSIONFO.VB, он дает одно и то же сообщение с отказом. Таким образом, единственный способ, которым я могу в настоящее время заставить это строить правильно, состоит в том, чтобы установить свойства в проекте, чтобы сказать ему, какой ключ файл использовать и подписать сборку.

- Один: Причина, по которой это, по-видимому, создает проект от внутри VS2010, заключается в том, что MSBUILD проходит / keycontainer для vbc.exe на командной строке вместо использования / кейсе. Все еще не знаю, как использовать параметр командной строки / KeyFile.

Это было полезно?

Решение

Я обнаружил, что MSBUILD также не любит иметь атрибут AssumbeyFile, поскольку я определил его в AssemblyInfo.vb, он дает одно и то же сообщение с отказом. Таким образом, единственный способ, которым я могу в настоящее время заставить это строить правильно, состоит в том, чтобы установить свойства в проекте, чтобы сказать ему, какой ключ файл использовать и подписать сборку.

Причина это появляется Для работы на строительство проекта изнутри VS2010 заключается в том, что MSBuild проходит / ключевой файл для VBC.EXE на командной строке вместо использования / KeyFile. Все еще не знаю, как использовать параметр командной строки / KeyFile.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top