我正在尝试为我的MVC5应用程序创建单元测试,而我正在使用资源。我的问题是,当我执行测试时,它会抛出此异常。
System.Resources.MissingManifestResourceException:无法为指定的区域性文化或中性文化找到适当的资源。确保在编译时将“Resources.Ressources.resources”正确嵌入或链接到程序集“GestionSaisieExternaliséeV2”,或者所有所需的附属程序集都是可加载和完全签名的
我在控制器的操作中使用了资源。
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if (object.ReferenceEquals(resourceMan, null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Resources.Ressources", typeof(Ressources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
VS解决方案项目:
答案 0 :(得分:1)
解决。 资源文件应在文件属性中设置为“嵌入式资源”。
感谢你们所有人。
答案 1 :(得分:0)
我认为您需要公开您的资源类;见下图:
另一件事是将InternalVisibleTo
属性添加到MVC项目的AssemblyInfo.cs
文件中。这将使测试程序集可以看到内部类型(默认访问修饰符),因此您可以从那里访问Resources.Something
。