.net - InternalsVisibleTo 属性的问题

标签 .net c#-4.0

我有以下代码:

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 上读到,项目的默认程序集名称是项目名称...我缺少什么?

最佳答案

您不应该在类上使用程序集级属性!就这样做:

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

应该可以

关于.net - InternalsVisibleTo 属性的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9737793/

相关文章:

c# - 这可以用最小起订量来模拟吗?

c# - 有哪些可能的设计来解决这个并发问题?

c# - 使用纯 .net 框架生成和签署证书请求

c# - 检查列表中的所有属性

c#-4.0 - 我的自定义 Windows 服务未写入我的自定义事件日志

.net - 如何启动一个接受参数并返回值的任务?

c# - MVC 3 区域路由不起作用

c# - Visual Studio,F11,只对特定线程正在做什么感兴趣?

c# - System.Reflection.Emit 的线程安全性如何?

c# - 我可以在 ValidationSummary 之后调用函数吗?