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

时间:2016-08-26 15:37:45

标签: azure-devops tfs2013 azure-service-fabric asp.net-core-1.0

我正在测试.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.

因此基于互联网上发现的类似问题/解决方案,我尝试了以下内容。我检查了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,by 安装最新的dotnet-cli。
  3. 有什么建议吗?

    更新1

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

    更新2

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

2 个答案:

答案 0 :(得分:3)

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

.tfignore 内容:

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

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

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

答案 1 :(得分:1)

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