我有一个源XML文件,用于创建C#文件,然后将其作为项目的一部分进行编译 目前我有一个运行我的XML到C#转换器的BeforeBuild目标 问题是,在运行BeforeBuild步骤时,旧文件似乎已由构建系统存储,因此将忽略新文件。

我该如何解决这个问题?似乎变形将成为他们的方式,但他们的能力有限。

有帮助吗?

解决方案

我猜你的<!>“由构建系统存储<!>”;可以转换为包含要编译的.cs文件的ItemGroup在读取msbuild文件时生成,而不是在执行编译目标时生成。您有几种选择:

  1. <CreateItem>请参阅 CreateItem任务
  2. <Output>请参阅输出元素
  3. 我希望这会有所帮助。

其他提示

我们在这里有类似的东西。我们使用.tt生成一个.cs文件.cs。这两个文件都是特定csproj的一部分。 Going properties - <!> gt; csproj上的BuildEvents在Pre-build事件命令行中提供了这个小片段:

del "$(ProjectDir)MyCsFile.cs"
copy /b /y "$(ProjectDir)\MyXmlFile.xml" "$(TargetDir)"
"$(ProjectDir)tt.bat" "$(ProjectDir)MyTemplateFile.tt"

不知道这对你有用,我希望它可以作为最后的机会解决方法。

我认为您需要向我们展示一些规则/构建文件。您应该对具有xml作为依赖关系的cs文件具有规则/依赖关系。

我不确定构建系统存储的<!>“是什么意思<!>

仔细检查您的规则是否存在错误/遗漏。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top