AssemblyInfo и доступ к обычным функциям - PullRequest
1 голос
/ 03 ноября 2011
[assembly: AssemblyCopyright("Copyright ©  2009")]

возможно ли как-то получить доступ к функциям типа DateTime.Now.Year внутри класса AssemblyInfo? чтобы вставить как

[assembly: AssemblyCopyright("Copyright ©  " + DateTime.Now.Year)]

Выполнение вышесказанного даст, DateTime не существует в текущем контексте

1 Ответ

3 голосов
/ 13 марта 2012

Из коробки нет, но есть 2 варианта доступа к функциональности .NET для вашего файла сборки.

Самый простой способ сделать ваш пример - использовать задачу AssemblyInfo из MSBuildExtensionPack .

После установки вы можете использовать все методы этой задачи, http://www.msbuildextensionpack.com/help/4.0.4.0/index.html,, такие как:

    <Target Name="Version">
    <ItemGroup>
        <AssemblyInfoFiles Include="$(SourcePath)\Code\Properties\AssemblyInfo.cs"/>
    </ItemGroup>
    <MSBuild.ExtensionPack.Framework.DateAndTime TaskAction="Get" Format="yyyy">
        <Output TaskParameter="Result" PropertyName="MyStartTime"/>
    </MSBuild.ExtensionPack.Framework.DateAndTime>
    <MSBuild.ExtensionPack.Framework.AssemblyInfo ComVisible="false" AssemblyInfoFiles="@(AssemblyInfoFiles)" AssemblyBuildNumberType="YearWeekDay" FirstDayOfWeek="Sunday" AssemblyBuildNumber="4" AssemblyCopyright=" Foo Copyright $(MyStartTime)"/>
</Target>

Другой вариант:создать собственную задачу msbuild самостоятельно и таким образом предоставить дополнительные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...