我有以下代码:问题InternalsVisibleTo属性
namespace ConectorV2
{
[assembly:InternalsVisibleTo("Pruebas")]
internal static class Utilidades
{
internal static string extraerCadenaDeConexion()
{
return extraerCadenaDeConexion(new XElement());
}
internal static string extraerCadenaDeConexion(XElement documento)
{
throw new NotImplementedException();
}
}
}
然后在Pruebas项目:
namespace Pruebas.ConectorV2.Cliente
{
[TestFixture]
class ModuloExtraerCadenaDeConexion
{
[Test]
public void devuelveCadenaSolicitada()
{
var mock = new MockRepository();
var appSettings =
XElement.Parse(
@"<appSettings>
<setting key='dbtype' value='SQLSERVER' />
<setting key='SQLSERVER' value='prueba' />
</appSettings>");
Assert.That(ConectorV2.Utilidades.extraerCadenaDeConexion(appSettings), Is.EqualTo("prueba"));
}
}
}
我得到编译如下错误:
类型或命名空间名称'Utilidades'不存在于命名空间Pruebas.ConectorV2'中(您是否缺少程序集引用?)
该程序集在我的pruebas项目中被正确引用,并且我在msdn上读到项目的默认程序集名称是项目名称...我错过了什么?
你申请过强名称签名的程序集的一个或两个? – 2012-03-16 13:10:42
不,虽然我的印象我不需要 – 2012-03-16 13:16:51
好,所以我签署了两个组件,现在它说'Conector.Utilidades'由于其保护级别而无法访问 – 2012-03-16 14:24:48