【发布时间】:2013-10-17 16:43:08
【问题描述】:
我为我的 powershell 构建(包括我们的持续集成)准备了以下“预构建事件”。它只是将一个 DLL 移动到基于处理器架构的输出目录中。
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 单元测试时。当我这样做时,Pre Build 事件不会运行,因此依赖于sqlite3.dll 的所有测试都会失败。
我需要做的是能够在 Test Runner 运行之前将适当的文件移动到输出目录中,或者确保 Test Runner 仅针对 x86 架构运行,这样我就可以将适当的文件放在bin\debug 文件夹并完成它。
我尝试过的事情:
- 我尝试将“构建设置”设置为“始终构建”,但这对结果没有影响。似乎 IDE 中的构建没有运行 Pre Build Event
- 我还尝试在 [Resharper -> 选项 -> 工具 -> 单元测试] - as per the docs 中设置默认平台架构,但不幸的是我的 R# 版本没有该选项(7.1.3 )
【问题讨论】:
标签: visual-studio-2012 nunit resharper build-process