[assembly: AssemblyCopyright("Copyright © 2009")]
是否有可能以某种方式访问AssemblyInfo类中的DateTime.Now.Year等函数?以便像
一样[assembly: AssemblyCopyright("Copyright © " + DateTime.Now.Year)]
执行上述操作将给出,当前上下文中不存在DateTime
答案 0 :(得分:3)
开箱即用,没有,但有两个选项可以对您的程序集文件访问.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任务,并以这种方式公开其他功能。