ang*_*son 6 .net code-signing internalsvisibleto assembly-signing
情况如下:
[assembly: InternalsVisibleTo("...")]主项目AssemblyInfo.cs文件添加一个属性那么,我该如何解决这个问题呢?
如果我签署主项目输出而不是测试库,并且只在InternalsVisibleTo属性中指定程序集名称,则会出现此编译时错误:
错误1朋友程序集引用'Mercurial.Net.Tests'无效.强名称签名程序集必须在其InternalsVisibleTo声明中指定公钥.C:\ Dev\VS.NET\Mercurial.Net\Mercurial.Net\Properties\AssemblyInfo.cs 22 31 Mercurial.Net
所以显然没有签署测试项目输出是不够的.
我唯一的选择是删除签署项目的设置,并修改项目文件作为我的二进制文件构建脚本的一部分?即.<SignAssembly>false</SignAssembly>在构建之前,搜索项目文件的元素并进行修改?
是否可以选择发布仅供测试用的 SNK 文件?
然后,您可以拥有两个InternalsVisibleTo并使用 切换使用哪一个#if,例如:
#if FOR_RELEASE
[InternalsVisibleTo(... your private SNK ...)]
#else
[InternalsVisibleTo(... test SNK which you release ...)]
#endif
Run Code Online (Sandbox Code Playgroud)
然后,您可以设置FOR_RELEASE何时创建要发布的构建。
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |