2011-11-03 4 views
1
[assembly: AssemblyCopyright("Copyright © 2009")] 

어떻게 든 DateTime.Now와 같은 함수에 액세스 할 수 있습니다. AssemblyInfo 클래스 내부에 있습니까? 이렇게AssemblyInfo 및 일반 함수 액세스

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

처럼 넣어하도록, 위의 줄 것이다, 날짜 시간 현재 컨텍스트 상자, 아니 중

+2

이것은 불가능합니다. 속성 값은 상수 여야합니다. – Amy

답변

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 작업을 생성하고 추가 기능을 노출하는 것입니다 그런 식으로.