проблемы с атрибутом InternalsVisibleTo - PullRequest
2 голосов
/ 16 марта 2012

У меня есть следующий код:

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, что именем сборки по умолчанию для проекта является имя проекта ... что мне не хватает?

1 Ответ

5 голосов
/ 16 марта 2012

Вы не должны использовать атрибуты уровня сборки на классах!Просто сделайте так:

[assembly:InternalsVisibleTo("Pruebas")]
namespace ConectorV2
{
    internal static class Utilidades
    { /* ... */

должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...