Mar*_*ade 29 .net c# visual-studio
我有一个C#项目和一个带有主项目单元测试的测试项目.我想要有可测试的internal方法,我想测试它们没有你可以使用Visual Studio测试项目的神奇Accessor对象.我想使用,InternalsVisibleToAttribute但每次我都这样做,我必须回去查看如何做,我记得包括创建用于签署程序集的密钥文件,然后使用sn.exe获取公钥等等.
是否有一个实用程序可以自动创建SNK文件,设置项目以对程序集进行签名,提取公钥以及应用InternalsVisibleTo属性?
有没有办法使用没有签名程序集的属性?
Bri*_*sen 37
您不必使用已签名的程序集InternalsVisibleTo.如果不使用签名的程序集,则只需输入程序集的全名即可.
因此,如果您想要访问MyAssembly测试程序集(MyAssembly.Test),那么您需要AssemblyInfo.cs的MyAssembly是测试程序集的名称,如下所示:
[assembly: InternalsVisibleTo("CompanyName.Project.MyAssembly.Test")]
Run Code Online (Sandbox Code Playgroud)
Fre*_*els 13
Brian是对的,但是,在某些情况下,你有一个签名的程序集,你确实需要获得该程序集的公钥.
获得这个关键确实很麻烦.
因此,我已经这样做了:
我已经在VS.NET中定制了我的外部工具,这样我只需单击一下鼠标就可以获得当前项目程序集的公钥.
这就是它的完成方式:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\sn.exe-Tp $(TargetPath)然后,构建项目,当您单击"获取公钥"时,您应该在输出窗口中看到此项目的公钥.
| 归档时间: |
|
| 查看次数: |
12427 次 |
| 最近记录: |