我有一个“旧的”win32 dll,我需要在单元测试/集成测试项目中加载它来进行一些测试处理。
此dll简称为
private static extern ushort SSV_InitTrace(
[MarshalAs(UnmanagedType.LPStr)]string fileName,
[MarshalAs(UnmanagedType.LPStr)]string mode,
ushort module, byte level);
这是在win32平台上运行的“经典”xUnit测试项目。 但是,在我的集成测试中,我需要从我的解决方案中加载一堆netcore程序集。 我像这样定义我的project.json:
"dependencies": {
"xunit": "2.2.0-beta2-build3300",
"CommonTools": "1.0.0",
"FluentAssertions": "4.6.1",
"SESAMEngineFacturation": "1.0.0",
"Moq": "4.6.25-alpha",
"DALCore": "1.0.0",
"BusinessCore": "1.0.0",
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"System.Reflection.Extensions": "4.0.1",
"SESAMReglementaire": "1.0.0-*",
"SESAMReglementaire.Tests": "1.0.0-*",
"System.Runtime.InteropServices": "4.1.0",
"System.Linq.Expressions": "4.1.0"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"System.Reflection.TypeExtensions": "4.1.0",
"System.Diagnostics.TraceSource": "4.0.0"
},
"imports": [
"dnxcore50",
"portable-net45+win81"
]
}
}
当我点击我的dllimport时,遇到badImageFormatException。 如何强制我的netcoreApp在win32模式下运行? 我已经尝试设置
了 "buildOptions": { "platform": "x86" }
进入netcoreapp部分,但如果我这样做,测试就不再出现在VS Test Explorer中。
我如何管理这个运行?