2016-05-18 42 views
0

我有一个问题,我想在编译之前重命名/移动/复制源XAML文件。我可以看到有一个移动和复制任务作为MSBuild的一部分,您可以将其放入.csproj文件中,并执行此操作。不幸的是,我只能将它用于编译文件。这些任务是否应该在源文件本身上工作?如何在编译之前使用MSBuild重命名源文件?

如果它有任何价值,我会详细介绍一下我正在尝试做什么,以防有人有完全不同的解决方案。基本上,我们的WPF应用程序需要有品牌。我们在不同的XAML文件中有不同的品牌(不同的图标和属性等)。这些文件被命名为BrandA.xaml,BrandB.xaml等等。我目前正在试图准确地将这些品牌文件中的一个编译为Brand.xaml,然后应用程序的其余部分加载。我已经能够使用MSBuild使用条件复制一个文件,但我无法正确命名它。

回答

1

不包括Page的不同品牌,而是包含您的自定义商品类型,例如, Brand(以确保它仍然是项目的一部分,在Visual Studio中显示出来):

<Brand Include="BrandA.xaml"> 
    <Generator>MSBuild:Compile</Generator> 
    <SubType>Designer</SubType> 
</Brand> 

然后,您可以使用BeforeBuild目标复制有关文件,以Brand.xaml,包括它的Page项目小组。您应该可以使用SourceFilesDestinationFiles将文件重命名为副本的一部分。

+0

这似乎很有希望。我会试一试。 – rbwhitaker

+0

这确实最终为我工作。再次感谢您花时间回复。 – rbwhitaker

+0

抱歉没有时间尝试一下并举例说明。 – Joey