[英]How do you pass conditional compilation symbols (DefineConstants) to msbuild
[英]How can you use MSBuild to rename a source file before compilation?
我在编译源XAML文件之前要重命名/移动/复制该文件时遇到问题。 我可以看到,有一个Move和Copy任务是MSBuild的一部分,您可以将其放入.csproj文件中。 不幸的是,我只能使它与编译文件一起使用。 这些任务中的任何一个都应该在源文件上运行吗?
如果它有任何价值,我会详细说明我想做的事情,以防有人使用完全不同的解决方案。 基本上,我们的WPF应用程序需要具有品牌效应。 我们在不同的XAML文件中拥有不同的品牌(不同的图标和属性等)。 这些文件的名称类似于BrandA.xaml,BrandB.xaml等。我目前正试图将这些品牌文件之一准确地编译为简单的Brand.xaml,然后其余的应用程序将对其进行编译。加载。 使用条件,我只能使用MSBuild复制单个文件,但无法正确命名。
不要包括不同的品牌作为Page
,而是包括您的自定义项目类型,例如Brand
(以确保它仍然是项目的一部分并显示在Visual Studio中):
<Brand Include="BrandA.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Brand>
然后,您可以使用BeforeBuild
目标将相关文件复制到Brand.xaml
并将其包括在Page
项目组中。 您应该能够同时使用SourceFiles
和DestinationFiles
将文件重命名为副本的一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.