我正在使用CC.Net和MSBuild任务来构建一个由许多解决方案和项目组成的应用程序。我们使用AssemblyInfo MSBuild社区任务来更新AssemblyInfo.cs中的版本信息。遗憾的是,AllowPartiallyTrustedCallers属性没有进入,而AssemblyInfo任务告诉我该任务不支持AllowPartiallyTrustedCallers属性。是否有任何方法可以通过MSBuild添加该属性,而不必诉诸于事后在文件末尾添加行的自定义任务?
答案 0 :(得分:0)
我在构建uNHAddIns项目的AllowPartiallyTrustedCallers版本时使用<WriteLinesToFile/>
任务完成了这项工作。修改后的GenerateAssemblyInfo目标如下所示:
<Target Name="GenerateAssemblyInfo" DependsOnTargets="HgRevision; SVNRevision">
<MakeDir Directories="$(AssemblyOutputDir)" />
<Message Text="Writing the revision number $(BUILD_VCS_NUMBER) in assemblyinfo.cs." />
<AssemblyInfo
AssemblyCompany ="$(AssemblyCompany)"
AssemblyCopyright="$(AssemblyCopyright)"
AssemblyDescription="$(AssemblyDescription)"
AssemblyProduct="$(AssemblyProduct)"
AssemblyTitle ="$(AssemblyTitle)"
CodeLanguage="$(AssemblyCodeLanguage)"
CLSCompliant ="$(AssemblyClsCompliant)"
AssemblyInformationalVersion="$(AssemblyVersion).$(BUILD_VCS_NUMBER)"
AssemblyVersion ="$(AssemblyVersion).$(BUILD_VCS_NUMBER)"
OutputFile="$(AssemblyOutputFile)"
/>
<WriteLinesToFile File="$(AssemblyOutputFile)" Lines="[assembly: System.Security.AllowPartiallyTrustedCallers]" />
</Target>
不是很漂亮,但它有效(我正在使用msbuild 3.5)