¿Hay alguna manera de otorgar acceso privilegiado a un ensamblado .NET a solo otro ensamblado?

StackOverflow https://stackoverflow.com/questions/640552

  •  22-07-2019
  •  | 
  •  

Pregunta

Tengo un ensamblaje de biblioteca de clases y un código de prueba. Debido a que el código de prueba debe echar un vistazo a las partes internas de la clase, debe ser parte del ensamblado y porque no quiero que se ejecute todo por sí mismo, necesita tener algo público para que un ensamblado diferente pueda invocarlo. Esto termina agregando algo de código que no debería estar allí para el ensamblaje principal.

Lo que me gustaría es colocar todo el código de prueba en el otro ensamblado y de alguna manera otorgarle privilegios para acceder a los componentes internos de la clase. No necesito que esto sea parte del producto final, solo como parte de la depuración / compilaciones privadas.

¿Es eso posible?

¿Fue útil?

Solución

Haga un uso liberal del modificador de acceso interno y agregue el InternalsVisibleTo atribuir al ensamblado.

Otros consejos

Desea System.Runtime.CompilerServices.InternalsVisibleTo ()

También puede usar la reflexión para acceder a miembros internos / privados. Así es como lo hace MSTest.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top