使用App_Globalresources测试项目

时间:2018-06-13 13:56:00

标签: c# unit-testing dll app-globalresources

我需要为使用带有* .resx文件的App_GlobalResources的项目创建测试。此项目的一些方法使用* .resx文件中的值,例如Captions.resx:

result = String.Format("{0} \"{1}\"", Captions.Ownership, ownership.TitlingName);

所以当我从另一个测试项目中测试这个方法时我得到了错误:

'Could not load file or assembly 'App_GlobalResources' or one of its dependencies. The system cannot find the file specified.'

从例外的FusionLog我可以看到测试项目试图从他的Debug文件夹中加载dll。

我的资源Build Action的另一个问题是设置为Content,因此它们不会编译成.dll。所以我将App_GlobalResources从temp VS文件夹复制到测试项目调试文件夹中,但在此之后文件创建时我得到了另一个错误:

'Could not load file or assembly 'App_GlobalResources' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)'

FusionLog:

LOG: Attempting download of new URL file:///C:/f/Projects/lexserv/lexserv/MlfLexservUnitTests/bin/Debug/App_GlobalResources.DLL.
WRN: Comparing the assembly name resulted in the mismatch: NAME
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

它可能是因为dll版本,但是当我通过资源调谐器更改dll版本时,例如我仍然得到同样的错误。我知道有办法将.resx文件访问修饰符更改为public,但这不是我的解决方案。所以问题是我应该如何导入App_GlobalSource.dll来测试项目以测试调用.resx文件的方法?

0 个答案:

没有答案