Antes de continuar Lo que ir a través de este InternalsVisibleTo attribute ain’t workin'!InternalsVisibleTo atributo no está funcionando
De ahí el título
Bueno por lo que tenía una versión de trabajo de mi proyecto que estaba usando algo como lo siguiente.
[assembly: InternalsVisibleTo("Stuff.Test.Support, PublicKey="0024000004800000940000000302000000240000525341310004000001000100d158cd56401c3d90b52ca1a5f273d608c3ce12aaa21385b0f4ad7dc1b747e45ee1f1771c104c52cb4da1b587ae38b6d36fa1d8e8f14003c42f700bc62ef2ec04b231c5d930e4bc3691aa1ef7b6713926316d4be1165ede086e94190b44edd4ad0d024230ae6eb9deb728b00d71d1d468b20a9bb78f242bd6c41e640c2e5c0cd5")]
En el archivo Properties/AssemblyInfo.cs con las cosas internas a las que quiero acceder. Antes de iniciar sesión, estaba funcionando. pero después de fusionarme en Team Foundation IDK WTF es incorrecto, pero es como si mi AssemblyInfo.cs no viera el atributo, pero verifiqué que nada ha cambiado en el archivo, pero sigo obteniendo el error "innaccessable due to its protection level."
. (Gama radiación? Mancha solar? Los pequeños gnomos malvados que capacitan a los insectos a tweek de trabajo de código en código no funciona lol)
He tratado simplemente añadiendo los casos individuales utilizando la reflexión ...
Assembly Core = Assembly.LoadFile("C:\Stuff.Internal.Core\bin\Debug\Stuff.Internal.Core.dll");
Object AssmWithIdentifier = Core.CreateInstance("AssemblyWithIdentifer", false);
Cuando intento esto obtengo 'Stuff.Internal.AssemblyWithIdentifer' is inaccessible due to protection level.
De lo contrario, si comento algo que tenga que ver con las cosas internas, mi proyecto compila muy bien.
me doble registrado mi "PublicKey" con Red Puertas Reflector
y también he intentado usar privateObjects a los métodos de acceso, posiblemente, de esa manera, pero no importa cuanto lo intento no puedo crear una instancia de algo interno.
También intenté simplemente agregar un nuevo proyecto, recopilando cualquier referencia y sí que realmente funcionó, pero después intenté crear un nuevo proyecto y agregar todo el material en el proyecto "Stuff.Test.Support" para incluir referencias y similares, y añadir que a los AssemblyInfo.cs que en el proyecto que quisiera acceder, pero, una vez que lo intento de compilar me sale el mismo error "innaccessable due to its protection level."
Editar: me olvido de mencionar que soy utilizando un SharedAssembly.cs que gestiona globalmente los ensamblados y tiene varios atributos configurados de forma similar al atributo de ejemplo assembly: InternalsVisibleTo
que he mostrado al comienzo de esta pregunta . También estoy usando ensamblajes Strong Named si eso es algo que mi ejemplo no resalta.
¡Oye, quizás debas eliminar cualquier definición de flujo de trabajo de ese proyecto! Pruébalo. – Will
OMG que funciona. Tal vez deberías dejar eso como respuesta para que puedas obtener algo de credibilidad por ello. – Terrance