- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我继续之前,我确实经历了这个 InternalsVisibleTo attribute ain’t workin'!
因此标题
好吧,我的项目有一个工作版本,它使用如下内容。
[assembly: InternalsVisibleTo("Stuff.Test.Support, PublicKey="0024000004800000940000000302000000240000525341310004000001000100d158cd56401c3d90b52ca1a5f273d608c3ce12aaa21385b0f4ad7dc1b747e45ee1f1771c104c52cb4da1b587ae38b6d36fa1d8e8f14003c42f700bc62ef2ec04b231c5d930e4bc3691aa1ef7b6713926316d4be1165ede086e94190b44edd4ad0d024230ae6eb9deb728b00d71d1d468b20a9bb78f242bd6c41e640c2e5c0cd5")]
在包含我想要访问的内部内容的 Properties/AssemblyInfo.cs 文件中。在检查它之前它正在工作。但在 Team Foundation IDK WTF 上如此合并之后,WTF 是错误的,但它就像我的 AssemblyInfo.cs 没有看到该属性,但我验证文件中没有任何更改,但我仍然得到 “innaccessable due to its protection level.”
错误。 (Gama 辐射?太阳黑子?训练 bug 将工作代码改造成不工作代码的小邪恶侏儒哈哈)
我试过使用反射添加单个实例...
Assembly Core = Assembly.LoadFile("C:\Stuff.Internal.Core\bin\Debug\Stuff.Internal.Core.dll");
Object AssmWithIdentifier = Core.CreateInstance("AssemblyWithIdentifer", false);
当我尝试这样做时,我得到 'Stuff.Internal.AssemblyWithIdentifer' is unaccessible due to protection level.
否则,如果我注释掉任何与我的项目编译的内部内容有关的内容。
我用 Red Gates Reflector 仔细检查了我的“公钥”
我也尝试过使用 privateObjects 以这种方式访问方法,但无论我如何尝试,我都无法实例化任何内部内容。
我也试过简单地添加一个新项目,编译它的任何引用,是的,确实有效,但在那之后我尝试创建一个新项目并添加“Stuff.Test.Support”项目中的所有内容以包括引用和之类的,并将其添加到我希望访问的项目中的 AssemblyInfo.cs 中,但是,一旦我尝试编译,我就会遇到同样的错误 "innaccessable due to its protection level."
编辑:我确实忘记提到我正在使用全局管理程序集的 sharedAssembly.cs,并以与示例 assembly: InternalsVisibleTo
属性类似的方式设置了几个属性,我在这个问题的开头显示了.如果我的示例没有突出显示,我也会使用强命名程序集。
最佳答案
原来是工作流定义导致了差异。仍在尝试找出原因......
好吧,如果有人可以提供指向解释为什么会从我这里得到 +1 的链接。
关于c# - InternalsVisibleTo 属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3504257/
我正在尝试使用 InternalsVisibleTo 程序集属性使 .NET 类库中的内部类对我的单元测试项目可见。由于某种原因,我不断收到一条错误消息: 'MyClassName' is inacc
我有两个程序集,比如 Main 和 Sub,其中 Sub 依赖于 Main。 Main 定义了一些具有protected internal virtual 成员的类,我想在Sub 中覆盖它们。我将这些
将 InternalsVisibleTo 属性与强名称程序集一起使用是否存在任何安全问题?我知道以这种方式接收信息的程序集必须有私钥来解密消息,并且在 InternalsVisibleTo 属性中您以
与这个问题相关的是,AssemblyInfo 的生成是如何工作的? 我一直将 InternalsVisibleTo 放在程序集的第一类文件中,我意识到它会很有用。将其他程序集属性放在 Assembly
我将 InternalsVisibleTo 应用于我的一个项目,以便其内部结构对测试项目可见。但是,(我知道这很奇怪)我需要标记一些内部类,以便它们对通过 InternalsVisibleTo 指示的
最近,我遇到了使内部类和方法对其他程序集可见的 InternalsVisibleTo 方法。虽然这在拥有一大堆程序集并且希望避免循环依赖或代码重复的应用程序中非常有用,但我们中的一些人认为这可能会暴露
我们有很多包含内部类的程序集,我们通过使用 InternalsVisibleTo 使内部类对单元测试程序集可见来对其进行单元测试。 这工作正常,但问题是一旦您使用 InternalsVisibleTo
在我继续之前,我确实经历了这个 InternalsVisibleTo attribute ain’t workin'! 因此标题 好吧,我的项目有一个工作版本,它使用如下内容。 [assembly:
是否可以为生产和验收测试禁用 InternalsVisibleTo? 虽然我希望能够在设计时探查内部结构,但我真的不希望这些在更高级别的测试中暴露出来。 最佳答案 您可以在 preprocessor
我插入一行: [程序集:InternalsVisibleTo("MyTests")] 在我的测试项目中(Properties/AssemblyInfo.cs),其中 MyTests 是单元测试项目的名
我正在尝试在.net 中对私有(private)函数进行单元测试。此私有(private)函数返回 myClass 类型的集合,这是一个内部类。 我使用了程序集属性 InternalsVisibleT
我正在尝试做一些不寻常的事情...... 我有这个类 Foo : public class Foo { public Foo(string name) { this.N
InternalsVisibleTo 不适用于我的托管 C++ 项目,但适用于我的 C# 项目。任何帮助将不胜感激。这是一个简化的布局。 项目 A - C#,有一个我想从 B/C 访问的内部属性。 项
似乎将此属性用于非公共(public)方法/属性的单元测试之外的任何内容都会产生巨大的代码味道。是否有任何合法用途的 InternalsVisibleTo 属性来实现使用标准设计模式可能不可能/太麻烦
我们有一些方法是内部的,但人们可能需要在测试项目(且仅测试项目)中可见。为此,我们必须在类的顶部添加一堆 InternalsVisibleTo 语句。这是一个可以被许多其他项目使用并帮助进行测试和验证
我有一个强命名的 C# 程序集:Strong.Named.Assembly.dll。对于另一个程序集,它具有属性 InternalsVisibleTo 及其公钥:[assembly: Internal
我的代理生成器在为内部映射的 Nhibernate 类生成代理时遇到问题。我尝试在 assemblyinfo.cs 中使用 InternalsVisibleTo 将它们添加为可见,但它似乎不起作用。更
我有一个使用动态代码生成来创建代理类的项目。这个代理类使用了项目的内部类(这样就不会暴露实现细节),所以我使用 InternalsVisibleTo 和我动态生成的程序集的名称。直到最近,我的客户要求
我们有一个共享的基本接口(interface) public interface IOperation {...} 和许多(十个,很快 100+)实现 IOperation 的不同对象。 我们还对所有
使用 .Net Core 2.1,我的 AssemblyInfo.cs 看起来像这样: 使用 System.Runtime.CompilerServices; [assembly: Internals
我是一名优秀的程序员,十分优秀!