2013-12-10 62 views
3

我想建立一個雲服務包與2013年TFS建築及包裝ccproj與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文件,所以它看起來沒有在發佈模式下構建。

不確定在何處進行配置。

構建日誌可以在:http://pastebin.com/ad1CCGrC找到,如果它幫助我的任何幫助。

這意味着它是在釋放模式:

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文件,我的本地文件沒有。

而且,在日誌中,我發現/調試:pdbonly在CSC編譯命令:

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" 
+0

你試過這個嗎? http://stackoverflow.com/questions/12963604/deploy-pdbs-on-an-azure-web-role – suresh2

+0

這就是添加調試的事情。我需要編譯發佈版本,但TFS不,它只是給我一個調試版本,我不知道爲什麼。 –

回答

0

如果PDBS形式納入其CHK​​ /調試版本。在構建過程模板中將構建從調試更改爲發佈。看看如何@http://msdn.microsoft.com/en-us/library/vstudio/dd647547.aspx#configs

+0

我已將其更改爲以完全相同的行爲進行發佈。如果我在我自己的機器上手動運行msbuild,那麼它是正確的,並且如果我在構建服務器上手動運行它,並且具有完全相同的屬性,那麼它會出錯。更進一步,在構建服務器上,它似乎將更多的警告提出來了,它也像使用/Frameworks/v4.0xxx而不是/ Frameworks/x64 /。構建服務器只有vs2010版本,這很重要嗎? –

+0

tfs構建包還包含dll mscorlib等,我的本地構建沒有。 –

+0

我將添加構建日誌。 –