首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当项目中无法引用DLL时,如何使Unit测试针对适当的DLL运行?

当项目中无法引用DLL时,如何使Unit测试针对适当的DLL运行?
EN

Stack Overflow用户
提问于 2013-10-17 16:43:08
回答 1查看 330关注 0票数 0

下面的“预构建事件”用于我的powershell构建(包括我们的持续集成)。它只是将一个DLL移动到基于处理器架构的输出目录中。

代码语言:javascript
运行
复制
if '$(PROCESSOR_ARCHITECTURE)'=='AMD64' (copy /y "$(ProjectDir)x64\sqlite3.dll" "$(OutDir)") 
if '$(PROCESSOR_ARCHITECTURE)'=='x86' (copy /y "$(ProjectDir)x86\sqlite3.dll" "$(OutDir)")
if '$(PROCESSOR_ARCHITEW6432)'=='AMD64' (copy /y "$(ProjectDir)x64\sqlite3.dll" "$(OutDir)")

我遇到的问题是当我在IDE中运行Resharper单元测试时。当我这样做时,预构建事件不会运行,因此所有依赖于sqlite3.dll的测试都会失败。

我需要做的是要么在Test运行之前将适当的文件移动到输出目录中,要么确保Test只运行在x86体系结构上,这样我就可以在bin\debug文件夹中删除适当的文件并完成它。

我尝试过的事情:

  1. 我尝试过将“”设置设置为“始终构建”,但这不会影响结果。似乎IDE中的构建没有运行预构建事件
  2. 我还尝试在Resharper -> Options -> Tools -> Unit that 按照医生的说法中设置默认的平台架构,但不幸的是,我的R#版本没有这个选项(7.1.3)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-17 18:46:25

您可以强制C#项目仅为32位,而ReSharper运行程序将只作为32位运行它。这样,您可以将x86 dll删除到bin\debug文件夹中,所有这些都应该可以正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19432539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档