生成依赖片段文件任务失败

Generate Dependency Fragment File task failed

我正在测试 .Net Core 1.0。有两种情况:

1) .Net Core 1.0 项目已签入 TFS 2013

我根据VS提供的模板创建了初始项目。在初始签入本地 TFS 2013 服务器后,后续构建(在我的机器上,而不是构建机器)始终无法获得此和类似 assess to the path is denied

Error   MSB4018 The "GenerateDependencyFragmentFile" task failed unexpectedly.
System.UnauthorizedAccessException: Access to the path 'C:\workspace\Project1\Solution1\Web1\project.fragment.lock.json' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalDelete(String path, Boolean checkHost)
   at System.IO.File.Delete(String path)
   at Microsoft.VisualStudio.ProjectSystem.DotNet.FileSystem.RemoveFile(String referenceFile)
   at Microsoft.DotNet.Tasks.GenerateDependencyFragmentFile.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
C:\workspace\Project1\Solution1\Web1\Web1.xproj 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets  
Line: 349   

2) .Net Core 1.0 项目已签入 VSTS

我已经尝试过相同的基本框架,即开箱即用的项目,该项目未签入源代码管理并且构建良好。

我也尝试过相同的开箱即用项目,该项目已签入 Visual Studio Team Service 在线源代码控制 (VSTC),并且构建良好。

还有什么?

我是 运行 VS 管理员。

因此,根据在互联网上找到的类似 problems/solutions,我尝试了以下内容。我查看了 project.json、project.fragment.lock.json 和 project.lock.json。此时项目构建失败:

Error       Failed to make the following project runnable: Web1 (.NETFramework,Version=v4.5.2) reason: 
Access to the path 'C:\workspace\Project1\Solution1\Web1\bin\Debug\net452\win7-x64\Microsoft.ServiceFabric.Internal.Strings.dll' is denied. 
Web1    
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets  
Line: 262   

我还尝试了以下解决方案:

  1. SO-37928200
  2. dotnet-cli#3794, 通过 安装最新的 dotnet-cli。

有什么建议吗?

更新 1

唯一有帮助的是检查整个 packages 和问题文件夹中的项目。但对我来说这似乎不是合理的解决方案。

更新 2

我更新了问题中的一些语言以澄清在我的本地机器上构建失败而不是构建机器,我还没有谈到那部分。

您需要按照此处的步骤操作:Build ASP.NET Core 1.0 with TFS 2013.4 Build Server 在 TFS 2013 上构建 Asp.Net 核心项目。

所以经过大量研究(以及反复试验),我最终将 .tfignore 文件添加到根文件夹,以便从整个解决方案中排除 *.lock.json 文件。

.tfignore 内容:

######################################
# exclude all lock.json files
*.lock.json

此外,我删除了 app.config 个文件并添加了适当的等效项(见下文)到 project.json

"runtimeOptions": {
  "configProperties": {
    "System.GC.Server": true
  }
},