gpt4 book ai didi

c# - InternalsVisibleTo 属性不起作用

转载 作者:太空狗 更新时间:2023-10-29 20:25:50 25 4
gpt4 key购买 nike

在我继续之前,我确实经历了这个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com