在Microsoft Test项目中包含资源dll

时间:2014-08-06 06:17:49

标签: c# .net unit-testing mstest

我有一个带有dll和测试项目的Visual Studio 2010解决方案。该dll有一个资源文件Strings.resx和一个Strings.en-us.resx

如果我从项目中引用dll,则输出目录normaly包含一个带有en-us的子目录MyDll.resources.dll,对于我的测试项目的输出目录,这甚至是正确的。

然而,此测试未通过

[TestMethod]
public void TestMethod1()
{
    var manager = String.ResourceManager;
    var culture = CultureInfo.GetCultureInfo("en-US");
    var resourceSet = manager.GetResourceSet(culture, true, false);

    Assert.IsNotNull(resourceSet);
}

这是因为我的程序集是从

加载的

file:/// C:/ Users / me / Projects / SampleProject / TestResults / me_myhost 2014-08-06 08_03_33 / Out /

此文件夹不包含子目录en-us

旁注:同样的测试与ncrunch运行良好。

是否有可能告诉微软测试工具在构建过程中包含附属程序集?

1 个答案:

答案 0 :(得分:2)

尝试此操作:在解决方案资源管理器中选择所有资源文件,右键单击 - >属性并将复制到输出目录的值更改为:“如果更新则复制”或“始终复制”。