我有以下代碼:問題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