InternalsVisibleTo属性不起作用

Ter*_*nce 7 c# reflection assemblies internalsvisibleto visual-studio-2010

在我继续之前,我确实经历过这个 InternalsVisibleTo属性不能正常工作!

因此标题

好的,所以我的项目工作版本使用了以下内容.

[assembly: InternalsVisibleTo("Stuff.Test.Support, PublicKey="0024000004800000940000000302000000240000525341310004000001000100d158cd56401c3d90b52ca1a5f273d608c3ce12aaa21385b0f4ad7dc1b747e45ee1f1771c104c52cb4da1b587ae38b6d36fa1d8e8f14003c42f700bc62ef2ec04b231c5d930e4bc3691aa1ef7b6713926316d4be1165ede086e94190b44edd4ad0d024230ae6eb9deb728b00d71d1d468b20a9bb78f242bd6c41e640c2e5c0cd5")]
Run Code Online (Sandbox Code Playgroud)

在Properties/AssemblyInfo.cs文件中包含我想要访问的内部资料.在检查它之前它正在工作.但是在Team Foundation IDK合并之后,WTF是错误的,但它像我的AssemblyInfo.cs没有看到属性,但我确认文件中没有任何变化,但我仍然得到"innaccessable due to its protection level."错误.(Gama辐射?太阳黑子?那些训练臭虫的小恶魔侏儒将工作代码调到不工作的代码中lol)

我试过用反射添加单个实例...

Assembly Core = Assembly.LoadFile("C:\Stuff.Internal.Core\bin\Debug\Stuff.Internal.Core.dll");

Object AssmWithIdentifier = Core.CreateInstance("AssemblyWithIdentifer", false);
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我得到了 'Stuff.Internal.AssemblyWithIdentifer' is inaccessible due to protection level.

否则,如果我发表任何与内部资料有关的内容,我的项目编译就好了.

我用Red Gates Reflector仔细检查了我的"PublicKey"

我也尝试使用privateObjects可能以这种方式访问​​方法,但无论我如何尝试我都无法实例化内部任何东西.

我也试过简单地添加一个新项目,编译任何引用和是实际工作但是之后我尝试创建一个新项目并在"Stuff.Test.Support"项目中添加所有内容以包含引用等将它添加到我希望访问的项目中的AssemblyInfo.cs,但是,一旦我尝试编译,我得到相同的错误 "innaccessable due to its protection level."

编辑: 我忘了提到我正在使用全局管理程序集的sharedAssembly.cs,并且以与assembly: InternalsVisibleTo我在本问题开头所示的示例属性类似的方式设置了几个属性.我也在使用Strong Named程序集,如果这是我的例子没有突出的东西.

Ter*_*nce 4

事实证明,工作流程定义导致了差异。不过,仍在尝试找出原因......
好吧,如果有人可以提供解释原因的链接,我会得到+1。