2014-09-03 1 views
1

У меня есть проект пакета Visual Studio, который при компиляции создает мне DLL и что DLL помещается в файл .VSIX (который я затем дважды щелкаю по установка).Подписывание содержимого пакета Visual Studio (и самого VSIX)

Я хочу подписать DLL, а также обеспечить, чтобы VSIX был подписан.

Я посмотрел на Signing VSIX Packages, но это не очень полезно (или я быть немым, что вполне возможно!)

Я также посмотрел на Creating a Package with a Digital Signature Sample, который, кажется, предполагает создание пакета с помощью кода, из царапать и подписывать все содержимое. Я (возможно, наивно) ожидал, что сможет подписаться через процесс MsBuild, который создает и создает пакет.

весьма признателен, если кто-то может сказать мне соответствующие крючки для MSBuild, чтобы позволить мне назвать мою цель подписания подписать DLL перед он добавляется к VSIX, а также, как подписать сам VSIX?

+1

Похоже, здесь можно найти http://stackoverflow.com/questions/13370533/digitally-sign-a-visual-studio-2012-vsix-extension – ErikEJ

ответ

2

Итак, в конце я создал пользовательскую задачу, которая использует код в приведенных выше примерах (и от this blog article), чтобы взять VSIX и подписать его.

Наконец, я называю цель так:

<Target Name="VsixSign" AfterTargets="CreateVsixContainer"> 
    <ItemGroup> 
     <TargetDll Include="$(OutputPath)\$(TargetFileName)" /> 
    </ItemGroup> 
    <SignServiceTarget 
     FileName="@(TargetDll->'%(RootDir)%(Directory)%(Filename).vsix')" 
     Description="$(ProjectName)" /> 
    </Target> 

Обратите внимание, что я называю эту цель после визуальной «CreateVsixContainer» цель студии пакета, так что я подключить сборку в нужном месте.

+2

Хотите разделить код? – ErikEJ

+0

@Kram любые шансы Вы могли бы поделиться своим кодом своей задачи? – Misiu

+0

@ Misiu Боюсь, теперь это было с другой работы - извините !!! – Kram