c# - 有使用 InternalsVisibleToAttribute 的简单方法吗?

标签 c# .net visual-studio

我有一个 C# 项目和一个带有主项目单元测试的测试项目。我想要可测试的 internal 方法,并且我想在没有 Visual Studio 测试项目可以拥有的神奇 Accessor 对象的情况下测试它们。我想使用 InternalsVisibleToAttribute 但每次用完后我都不得不回过头来查看如何使用,我记得这包括为以下内容创建 key 文件签署程序集,然后使用 sn.exe 获取公钥等等。

  • 是否有实用程序可以自动执行以下过程:创建 SNK 文件、设置项目以签署程序集、提取公钥以及应用 InternalsVisibleTo 属性?强>

  • 有没有 签名程序集使用属性的方法?

最佳答案

您不必使用签名的程序集来使用 InternalsVisibleTo。如果您不使用已签名的程序集,则只需输入程序集的全名即可。

因此,如果您想在测试程序集 (MyAssembly.Test) 中访问 MyAssembly,您需要在 AssemblyInfo.cs 中进行所有操作MyAssembly 是这样的测试程序集的名称:

[assembly: InternalsVisibleTo("CompanyName.Project.MyAssembly.Test")]

关于c# - 有使用 InternalsVisibleToAttribute 的简单方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/672501/

相关文章:

c# - EF 实体未为属性设置新值

c# - 如何将 HttpWebRequest 与 GET 方法一起使用

visual-studio - Visual Studio 中的多个窗口

visual-studio - VS2010的控制台输出中有更多行

asp.net-mvc - 尝试在构建时构建 ASP MVC View 时出错

c# - 如何从非 gui 线程 C# 中创建表单

c# - 我该如何解释这段代码?

c# - Automapper - 同时压平列表

c# - 什么时候推荐在 NHibernate 中使用二级缓存

c# - .NET/C# 将 IList<string> 绑定(bind)到 DataGridView