- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
InternalsVisibleTo 不适用于我的托管 C++ 项目,但适用于我的 C# 项目。任何帮助将不胜感激。这是一个简化的布局。
项目 A - C#,有一个我想从 B/C 访问的内部属性。
项目 B - 托管 C++。引用文献 A 。
项目 C - C#,引用 A 。
所有项目都使用相同的 key 签名。查看使用 ILDASM 或 Reflector 编译的程序集表明它们都已正确签名(当我注释掉内部属性用法时)。
在 Project A 中的 AssemblyInfo.cs 中,我有以下 InternalsVisibleTo;
[assembly: InternalsVisibleTo( "B, " +
"PublicKey=00240000048000009400000006020000002400005253413100040000010001007" +
"50098646D1C04C2A041FAAF801521A769535DE9A04CD3B4DEDCCBF73D1A6456BF4FE5881451" +
"0E84983C72D0460B8BA85C52A9CACDC4A0785A08E247C335884C2049ECFE6B2C5E20A18FE4B" +
"9BFF009ADA232E980D220B3C9586C9C5EE29C29AEE8853DB7BB90CF5A4C704F5244E1A1085C" +
"4306008535049A0EBB00FE47E78DCB" )]
[assembly: InternalsVisibleTo( "C, " +
"PublicKey=00240000048000009400000006020000002400005253413100040000010001007" +
"50098646D1C04C2A041FAAF801521A769535DE9A04CD3B4DEDCCBF73D1A6456BF4FE5881451" +
"0E84983C72D0460B8BA85C52A9CACDC4A0785A08E247C335884C2049ECFE6B2C5E20A18FE4B" +
"9BFF009ADA232E980D220B3C9586C9C5EE29C29AEE8853DB7BB90CF5A4C704F5244E1A1085C" +
"4306008535049A0EBB00FE47E78DCB" )]
Error 1 error C3767: 'A::MyClass::MyProperty::get': candidate function(s) not accessible c:\Users\<snip>\CppClass.cpp 201 B
[assembly: InternalsVisibleTo( "B, " +
"PublicKey=00240000048000009400000006020000002400005253413100040000010001007" +
"50098646D1C04C2A041FAAF801521A769535DE9A04CD3B4DEDCCBF73D1A6456BF4FE5881451" +
"0E84983C72D0460B8BA85C52A9CACDC4A0785A08E247C335884C2049ECFE6B2C5E20A18FE4B" +
"9BFF009ADA232E980D220B3C9586C9C5EE29C29AEE8853DB7BB90CF5A4C704F5244E1A1085C" +
"4306008535049A0EBB00FE47E78DCB" ),
InternalsVisibleTo( "C, " +
"PublicKey=00240000048000009400000006020000002400005253413100040000010001007" +
"50098646D1C04C2A041FAAF801521A769535DE9A04CD3B4DEDCCBF73D1A6456BF4FE5881451" +
"0E84983C72D0460B8BA85C52A9CACDC4A0785A08E247C335884C2049ECFE6B2C5E20A18FE4B" +
"9BFF009ADA232E980D220B3C9586C9C5EE29C29AEE8853DB7BB90CF5A4C704F5244E1A1085C" +
"4306008535049A0EBB00FE47E78DCB" )]
最佳答案
我找到了这个问题的答案。 C++ 的工作方式与其他语言不同。除了 InternalsVisibleTo,您还必须引用程序集 一个 与 as_friend 关键字。由于 as_friend 不是“添加引用”对话框中的选项,因此您无法添加项目引用,而是需要在您需要的每个 CPP 文件中添加引用。
#using <A.dll> as_friend
关于.net - InternalsVisibleTo 不适用于托管 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/417842/
我正在尝试使用 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
我是一名优秀的程序员,十分优秀!