1
[assembly: AssemblyCopyright("Copyright ©  2009")]

是否有可能以某种方式访问​​ AssemblyInfo 类中的 DateTime.Now.Year 之类的函数?以便输入

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

执行上述操作会给出,当前上下文中不存在 DateTime

4

1 回答 1

3

开箱即用,没有,但是有 2 个选项可以针对您的程序集文件访问 .NET 功能。

执行示例的最简单方法是使用MSBuildExtensionPack中的 AssemblyInfo 任务。

安装完成后,您可以使用该任务中的所有方法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 任务并以这种方式公开其他功能。

于 2012-03-12T20:13:12.363 回答