我有一个Visual Studio包项目,在编译时会创建一个DLL,并将该DLL放在.VSIX文件中(然后我双击安装)。
我希望对DLL进行签名,并确保对VSIX进行签名。
我已经看过Signing VSIX Packages了,但这并不是很有帮助(或者我很笨,这很有可能!)
我也看过用数字签名示例创建软件包,这似乎涉及通过代码从头开始创建软件包并签署所有内容。我(也许是天真的)期望能够通过MsBuild流程进行签名,该流程用于构建和创建程序包。
如果有人可以告诉我MSBuild的合适钩子,让我可以在其添加到VSIX之前调用我的签名目标对DLL进行签名,以及如何对VSIX本身进行签名,将不胜感激。
因此,最后,我创建了一个自定义任务,该任务使用上述示例中的代码(以及来自本博客文章的代码)来获取VSIX并对其进行签名。
最后,我这样称呼目标:
<Target Name="VsixSign" AfterTargets="CreateVsixContainer">
<ItemGroup>
<TargetDll Include="$(OutputPath)\$(TargetFileName)" />
</ItemGroup>
<SignServiceTarget
FileName="@(TargetDll->'%(RootDir)%(Directory)%(Filename).vsix')"
Description="$(ProjectName)" />
</Target>
请注意,我在Visual Studio包“ CreateVsixContainer”目标之后调用此目标,以便将构建挂接到正确的位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句