我想选择包含测试的DLL列表相应的配置文件的MSBuild CreateItem条件包括基于配置文件
MyTest.Tests.dll
MyTest.Tests.config
我要使用createItem作为DLL是不可用的脚本加载
<CreateItem Include="$(AssemblyFolder)\*.Tests.dll"
Condition="???"
<Output TaskParameter="Include" ItemName="TestBinariesWithConfig"/>
</CreateItem>
的时间我可以使用或这是错误的做法的情况?
感谢
的Mac
编辑:
OK,澄清一下,我需要构建一个xUnit.Net项目文件。我需要这样做,因为我通过nCover通过xUnit.Console运行器运行测试(不要问!),但是它的长短是我只能使用一个项目文件。我遇到的问题是当我有一个关联的.config文件的测试DLL。没有配置文件,测试运行器将失败。
这意味着我需要在测试项目文件中有条件地添加额外的属性(config-file)。
项目模板文件:
<?xml version="1.0" encoding="utf-8"?>
<xunit>
<assemblies>
<!-- SAMPLE <assembly filename="Tests.dll" shadow-copy="false" config-file="Tests.dll.config" /> -->
<!-- @[email protected] -->
</assemblies>
</xunit>
的FileUpdate任务测试的dll没有配置文件。
<FileUpdate
Files="$(AssemblyFolder)\$(XUnitProjectFileName)"
Regex="<!-- @[email protected] -->"
ReplacementText="<!-- @[email protected] -->%0D%0A<assembly filename='$(AssemblyFolder)\%(TestBinaries.FileName)%(TestBinaries.Extension)' shadow-copy='false' />"
/>
所以我需要一种方法来取决于是否有测试DLL相应的配置文件中FileUpdate任务有条件地添加额外的属性。
对我的答案的反馈将受到欢迎。 – Filburt 2010-04-23 12:58:09
对不起Filburt,有点粗鲁。实际上我采取了简单的方法,最终创建了一个自定义的MSBuild任务来完成生成项目文件的工作,然后再阅读您的答案。我不知道如何使用元数据,所以你的方法看起来不错。谢谢。 – 2010-04-26 19:55:51