2

第 1 步:对 *.*proj 文件进行以下编辑

  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.-->
  <Target Name="BeforeBuild">
    <Version VersionFile="..\VersionInfo.txt" RevisionType="Increment">
      <Output TaskParameter="Major" PropertyName="Major" />
      <Output TaskParameter="Minor" PropertyName="Minor" />
      <Output TaskParameter="Build" PropertyName="Build" />
      <Output TaskParameter="Revision" PropertyName="Revision" />
    </Version>
    <AssemblyInfo CodeLanguage="CS" OutputFile=".\Properties\AssemblyVersion.cs" AssemblyVersion="$(Major).$(Minor).$(Build).$(Revision)" AssemblyFileVersion="$(Major).$(Minor).$(Build).$(Revision)" />
  </Target>
  <!--
  <Target Name="AfterBuild">
  </Target>
  -->

第 2 步:从 AssemblyInfo.cs 中删除 AssemblyVersion 编号和 AssemblyFileVersion

第 3 步:在 sln 所在的位置之外创建一个名为 VersionInfo.text 的文件。

第 3 步:将 AssemblyVersionNumber.cs 包含到项目的

第 4 步:发出 MSBuild,在本地机器上工作正常,但在构建服务器上不行。

开发机器:(32 位)

C:\SVNHome\branches\MyGreatProject-II>msbuild -ver
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3643]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

构建服务器:

D:\SVNHome\branches\source\MyGreatProject-II>%windir%\Microsoft.NET\Framework64\v3.5\msbuild
 -ver
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.4234]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

构建服务器上给出的错误消息没有帮助。

Properties\AssemblyInfo.cs:错误 CS1730:程序集和模块属性必须位于文件中定义的所有其他元素之前,除了使用子句和外部别名声明

4

1 回答 1

0

这是我的错,继续到服务器,

  1. 撤消构建服务器上的所有签出
  2. 强制构建,然后它工作正常。
  3. 谢谢杰西豪因。就是这样。
于 2013-04-26T16:02:25.237 回答