azure - 使用 TFS 2013 版本构建和打包 ccproj

标签 azure tfs msbuild

我正在尝试使用 TFS 2013 构建云服务包。

它是一个 ccproj 文件,这是 MSBuild 参数

/t:Publish /p:TargetProfile=Composite.WindowsAzure.Package.XS /p:PublishDir=\\core03\AzureBuild\AzureBuild /p:VisualStudioVersion=10.0 /p:EnableNuGetPackageRestore=true

它构建得很好,但包是 15mb,而不是我自己的本地机器生成的 8mb。当查看包内部时,它也放置了网站的 webrole.pdb 文件,因此看起来它没有在 Release模式下构建。

不确定在哪里配置。

构建日志可以在以下位置找到:http://pastebin.com/ad1CCGrC如果对我有帮助的话。

这意味着它处于 Release模式:

CopyFilesToOutputDirectory:
         Copying file from "obj\Release\WebRoleBoot.dll" to "C:\Builds\1\Freja\Azure Packages 1\bin\WebRoleBoot.dll".
         Composite.WindowsAzure.WebRole.SimpleBoot -> C:\Builds\1\Freja\Azure Packages 1\bin\WebRoleBoot.dll
         Copying file from "obj\Release\WebRoleBoot.pdb" to "C:\Builds\1\Freja\Azure Packages 1\bin\WebRoleBoot.pdb".

这表明可能有问题:(我们已经验证了 4.5 已安装)

 3>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(983,5): warning MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.5" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend. [C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\Composite.WindowsAzure.WebRole.SimpleBoot\Composite.WindowsAzure.WebRole.SimpleBoot.csproj]
     3>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll", "AMD64". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. [C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\Composite.WindowsAzure.WebRole.SimpleBoot\Composite.WindowsAzure.WebRole.SimpleBoot.csproj]
     3>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "System.Data", "AMD64". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. [C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\Composite.WindowsAzure.WebRole.SimpleBoot\Composite.WindowsAzure.WebRole.SimpleBoot.csproj]
     3>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "System.Web", "AMD64". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. [C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\Composite.WindowsAzure.WebRole.SimpleBoot\Composite.WindowsAzure.WebRole.SimpleBoot.csproj]
       GenerateTargetFrameworkMonikerAttribute:
       Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
       CoreCompile:
       Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files.
       CopyFilesToOutputDirectory:
         Composite.WindowsAzure.WebRole.SimpleBoot -> C:\Builds\1\Freja\Azure Packages 1\bin\WebRoleBoot.dll
       _CopyWebApplicationLegacy:
         Copying Web Application Project Files for Composite.WindowsAzure.WebRole.SimpleBoot
       CollectFilesFromIntermediateAssembly:
         Gather all files from Project items @(IntermediateAssembly). Adding:
         C:\Builds\1\Freja\Azure Packages 1\bin\WebRoleBoot.dll to bin\WebRoleBoot.dll
         C:\Builds\1\Freja\Azure Packages 1\bin\WebRoleBoot.pdb to bin\WebRoleBoot.pdb
       CollectFilesFromContent:

我们刚刚发现,构建服务器上缺少 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\4.5。

所以包现在从 15mb 减少到 10mb。所以几乎与我的本地机器生成的 8mb 包相同。构建服务器仍然有一个 webrole.dll 和 Microsoft.WindowsAzure.Storage.dll 的 pbd 文件,而我的本地服务器没有。

另外,在日志中我在 csc 编译命令中发现了/debug:pdbonly:

CoreCompile:
         C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE /highentropyva+ /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Composite.WindowsAzure.1.0.0.4\lib\net45\Composite.WindowsAzure.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Composite.WindowsAzure.Webrole.1.0.0.4\lib\net45\Composite.WindowsAzure.WebRole.dll" /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Microsoft.Data.Edm.5.2.0\lib\net40\Microsoft.Data.Edm.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Microsoft.Data.OData.5.2.0\lib\net40\Microsoft.Data.OData.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Unity.3.0.1304.1\lib\Net45\Microsoft.Practices.Unity.Configuration.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Unity.3.0.1304.1\lib\Net45\Microsoft.Practices.Unity.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Microsoft.Web.Administration.7.0.0.0\lib\net20\Microsoft.Web.Administration.dll" /reference:"C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies\Microsoft.Web.Infrastructure.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Microsoft.WindowsAzure.ConfigurationManager.1.8.0.0\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll" /reference:"C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\v2.2\ref\Microsoft.WindowsAzure.Diagnostics.dll" /reference:"C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\v2.2\ref\Microsoft.WindowsAzure.ServiceRuntime.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\WindowsAzure.Storage.2.1.0.3\lib\net40\Microsoft.WindowsAzure.Storage.dll" /reference:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll" /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll /reference:C:\Windows\Microsoft.Net\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Services.Client\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Services.Client.dll /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\System.Spatial.5.2.0\lib\net40\System.Spatial.dll" /reference:"C:\Builds\1\Freja\Azure Packages 1\src\WindowsAzure\Public\packages\Microsoft.Tpl.Dataflow.4.5.11\lib\portable-net45+win8\System.Threading.Tasks.Dataflow.dll" /reference:C:\Windows\Microsoft.Net\assembly\GAC_64\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll /reference:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll /debug:pdbonly /optimize+ /out:obj\Release\WebRoleBoot.dll /subsystemversion:6.00 /target:library /utf8output Properties\AssemblyInfo.cs WebRole.cs "C:\Users\Core03TfsService\AppData\Local\Temp\.NETFramework,Version=v4.5.AssemblyAttributes.cs"

最佳答案

如果包含 pdb,则它是 chk/debug 构建。在构建过程模板中将构建从调试更改为发布。看看如何@http://msdn.microsoft.com/en-us/library/vstudio/dd647547.aspx#configs

关于azure - 使用 TFS 2013 版本构建和打包 ccproj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20498140/

相关文章:

linux - Linux 上使用 az keyvault 的 Azure secret 下载问题

azure - Web 平台安装程序 5.0 缺少 Service Fabric 2

tfs - 有没有办法将父项链接到一组工作项

tfs - 尽管启用了 CI,为什么我的 2008 Team Build 不会触发开发人员 checkin

c++ - 预编译 header 和 MSBuild

c# - Coverity 是否支持 xbuild (mono)?

sql - 无法访问azure sql数据库中的临时表

c# - 带有 token 的Azure函数单例

tfs - 如何完全删除 TFS 绑定(bind)

c# - 如何调试 MSBuild 依赖问题?