我有一个源XML文件,用于创建C#文件,然后将其作为项目的一部分进行编译。
目前我有一个BeforeBuild目标,它运行我的XML到C#转换器。
问题是,在运行BeforeBuild步骤之前,旧文件似乎已被构建系统存储,因此新文件将被忽略。msbuild中动态生成的C#文件存在问题
我该如何解决这个问题?看起来,变革将是一种方式,但他们在做什么方面受到限制。
我有一个源XML文件,用于创建C#文件,然后将其作为项目的一部分进行编译。
目前我有一个BeforeBuild目标,它运行我的XML到C#转换器。
问题是,在运行BeforeBuild步骤之前,旧文件似乎已被构建系统存储,因此新文件将被忽略。msbuild中动态生成的C#文件存在问题
我该如何解决这个问题?看起来,变革将是一种方式,但他们在做什么方面受到限制。
我猜你的“由构建系统存储”可以被翻译为包含你想编译的.cs文件的ItemGroup是在读取msbuild文件时生成的,而不是当你的编译目标被执行时。您有几种选择:
<CreateItem>
看到CreateItem task<Output>
看到Output element我希望这有助于。
那么我们在这里有类似的东西。我们使用.tt创建了一个.cs文件。这两个文件都是特定csproj的一部分。去属性 - >上的csproj BuildEvents给出了预生成事件命令行这个小片段:
del "$(ProjectDir)MyCsFile.cs"
copy /b /y "$(ProjectDir)\MyXmlFile.xml" "$(TargetDir)"
"$(ProjectDir)tt.bat" "$(ProjectDir)MyTemplateFile.tt"
没有如果这是任何使用你的想法,我希望它可能足以作为一个最后的机会解决办法。
我想你需要向我们展示一些规则/构建文件。您应该对以xml作为依赖关系的cs文件拥有规则/依赖关系。
我不知道你所说的
“通过构建系统存储”仔细检查您的规则,误/漏报的意思。