根据NuGet Documentation,NuGet包恢复应该"只是工作"与TFS 2013。
不是。
当构建机器运行时,它会给我以下错误(它无法找到Newtonsoft.Json)
Program.cs (5): The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)
这是一个全新的项目,在TFS 2013上使用默认模板(TfvcTemplate.12.xaml)。我使用的是VS 2013.老实说,我是TFS的新手,所以我不确定构建日志应该的样子,但是我看起来像这样:
Overall Build Process
Overall build process
Update build number
Run on agent (reserved build agent CTIDEV2k8 - Agent1)
Initialize environment
Get sources from Team Foundation Version Control
Associate the changesets that occurred since the last good build
Compile, Test and Publish
Run optional script before MSBuild
Run MSBuild
Built $/Web/TestApp/TestApp.sln for default targets.
Built $/Web/TestApp/TestApp/TestApp.csproj for default targets.
C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): 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.
Program.cs (5): The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)
MSBuild Log File
Exception Message: MSBuild error 1 has ended this build. You can find more specific information about the cause of this error in above messages. (type BuildProcessTerminateException)
Exception Stack Trace: at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
Handle Exception
Create a bug for the build failure
Rethrow the exception so the build will stop
Perform Final Actions On Agent
Copy binaries to drop
Reset the Environment
Work item '96: Build Failure in Build: TestApp2_20150224.2' was opened by the build.
有人对此有所了解吗?
答案 0 :(得分:2)
问题是我们有一个内部Nuget包Feed。通过将nuget.config文件添加到解决方案文件夹的根目录来解决此问题:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageRestore>
<add key="enabled" value="True" />
</packageRestore>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="InternalFeed" value="https://our.nuget.com" />
</packageSources>
<activePackageSource>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</activePackageSource>
</configuration>
答案 1 :(得分:0)
您确定在Build Server上的Visual Studio中启用了Package Restore吗? Build Server可以访问nuget.org吗?您可以在Build Server上打开TestApp.sln并尝试手动编译。这有用吗?