我有以下代码:
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"));
}
}
}
我在编译时遇到以下错误:
名称空间Pruebas.ConectorV2'中不存在类型或命名空间名称“Utilidades”(您是否缺少程序集引用?)
我的pruebas项目中正确引用了程序集,我在msdn上读到项目的默认程序集名称是项目名称...我缺少什么?
答案 0 :(得分:5)
您不应该在类上使用汇编级属性!就这样做:
[assembly:InternalsVisibleTo("Pruebas")]
namespace ConectorV2
{
internal static class Utilidades
{ /* ... */
它应该有用