生成依赖片段文件任务失败
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
我还尝试了以下解决方案:
- SO-37928200
- 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
}
},
我正在测试 .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
我还尝试了以下解决方案:
- SO-37928200
- 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
}
},