Добавление AllowPartiallyTrustedCallers с MSBuild - PullRequest
0 голосов
/ 03 декабря 2009

Я использую CC.Net с задачами MSBuild для создания приложения, состоящего из ряда решений и проектов. Мы используем задачу сообщества AssemblyInfo MSBuild для обновления информации о версии в AssemblyInfo.cs. К сожалению, атрибут AllowPartiallyTrustedCallers не включается, и задача AssemblyInfo сообщает, что атрибут AllowPartiallyTrustedCallers не поддерживается задачей. Есть ли способ добавить этот атрибут через MSBuild, не прибегая к пользовательской задаче, которая просто вставляет строку в конец файла после факта?

1 Ответ

0 голосов
/ 09 июня 2010

Я сделал это с помощью задачи <WriteLinesToFile/>, когда создавал версию AllowPartiallyTrustedCallers проекта uNHAddIns. Модифицированная цель 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)

...