我在TFS构建控制器中配置了项目,但是我在队列新构建后面临构建失败。在日志中,我在检查了所有文件时发现了引用错误。
我如何调试和创建精美的tfs构建zip。
构建失败。
"C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp.sln" (default target) (1) ->
"C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj" (default target) (2) ->
(ResolveAssemblyReferences target) ->
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "EntityFramework". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Newtonsoft.Json". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Web.Optimization". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "DotNetOpenAuth.AspNet, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "DotNetOpenAuth.OAuth.Consumer, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "DotNetOpenAuth.OAuth, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "DotNetOpenAuth.OpenId, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "DotNetOpenAuth.OpenId.RelyingParty, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "WebGrease". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Antlr3.Runtime". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
"C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp.sln" (default target) (1) ->
"C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj" (default target) (2) ->
(CoreCompile target) ->
App_Start\BundleConfig.cs(2,18): error CS0234: The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Controllers\AccountController.cs(8,7): error CS0246: The type or namespace name 'DotNetOpenAuth' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Filters\InitializeSimpleMembershipAttribute.cs(3,26): error CS0234: The type or namespace name 'Infrastructure' does not exist in the namespace 'System.Data.Entity' (are you missing an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Global.asax.cs(7,18): error CS0234: The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Models\AccountModels.cs(4,45): error CS0234: The type or namespace name 'Schema' does not exist in the namespace 'System.ComponentModel.DataAnnotations' (are you missing an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Models\AccountModels.cs(12,33): error CS0246: The type or namespace name 'DbContext' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
App_Start\BundleConfig.cs(9,44): error CS0246: The type or namespace name 'BundleCollection' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Models\AccountModels.cs(19,16): error CS0246: The type or namespace name 'DbSet' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Models\AccountModels.cs(26,10): error CS0246: The type or namespace name 'DatabaseGeneratedAttribute' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Models\AccountModels.cs(26,10): error CS0246: The type or namespace name 'DatabaseGeneratedAttributeAttribute' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Models\AccountModels.cs(22,6): error CS0246: The type or namespace name 'Table' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
Models\AccountModels.cs(22,6): error CS0246: The type or namespace name 'TableAttribute' could not be found (are you missing a using directive or an assembly reference?) [C:\Builds\1\SourceCode\MvcApp\Sources\MainLine\Mvc App\MvcApp\MvcApp\MvcApp.csproj]
11 Warning(s)
12 Error(s)
时间流逝00:00:06.40
答案 0 :(得分:3)
您需要将所有这些dll放在构建计算机上。简单的方法是使用NuGet来管理你的包并配置它来拉下缺少的dll。或者您可以手动将它们添加到构建计算机。
答案 1 :(得分:2)
配置Nuget以在构建期间加载依赖项:
http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
答案 2 :(得分:1)
我知道这是一个老问题,但这就是我如何运作的。
我按照上面Daniel Miller的指示: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages
然后,我必须使用此链接http://docs.nuget.org/docs/reference/package-restore-with-team-build中提到的简单构建文件 这只是事先触发包恢复。
所有我必须从构建文件更改的是我的解决方案文件的路径和我的nuget.exe不同。
然后我将TFS配置为使用build.proj文件而不是解决方案。