如果您的文件僅包含論文線,也許你可以做這樣的事情:
<WriteLinesToFile File="$(VersionFilePath)" Lines="public const string SERVICE_VERSION = %22$(Version)%22%3B" Overwrite="true" Encoding="ASCII"/>
注意,「應該由%22替代,並且,通過%3B(當您添加一個‘;’,新行字符插入)
否則,您可以編寫C#代碼中的MSBuild做你想要的東西爲例:。
<UsingTask TaskName="UpdateApplicationRevision" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<ProjectFilePath ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="$(MSBuildToolsPath)\Microsoft.Build.dll" />
<Reference Include="System.Xml" />
<Code Type="Fragment" Language="cs">
<![CDATA[
var project = new Microsoft.Build.Evaluation.Project(ProjectFilePath);
var property = project.GetProperty("ApplicationRevision");
property.UnevaluatedValue = "" + (System.Int32.Parse(property.EvaluatedValue) + 1);
project.Save();
]]>
</Code>
</Task>
</UsingTask>
在這裏,我修改的csproj(XML)文件,但隨時可以寫信Ë自己的代碼來閱讀您的文件和更新...
您是指自定義構建任務,還是來自正在構建的程序集中的代碼? –
來自自定義構建任務 – Bernhard