使用MSBuild添加AllowPartiallyTrustedCallers

时间:2009-12-03 19:03:36

标签: .net msbuild assemblyinfo msbuildcommunitytasks

我正在使用CC.Net和MSBuild任务来构建一个由许多解决方案和项目组成的应用程序。我们使用AssemblyInfo MSBuild社区任务来更新AssemblyInfo.cs中的版本信息。遗憾的是,AllowPartiallyTrustedCallers属性没有进入,而AssemblyInfo任务告诉我该任务不支持AllowPartiallyTrustedCallers属性。是否有任何方法可以通过MSBuild添加该属性,而不必诉诸于事后在文件末尾添加行的自定义任务?

1 个答案:

答案 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)