Csharp/C#教程:缺少Microsoft.CSharp.Core.targets分享


缺少Microsoft.CSharp.Core.targets

我正在使用构建工具2017在TFS2017 Update 3上构建一个Web服务项目。我收到以下错误

C: Program Files(x86) Microsoft Visual Studio 2017 Enterprise MSBuild 15.0 Bin Microsoft.CSharp.CurrentVersion.targets(322,5):错误MSB4019:导入的项目“C: Program Files(x86) )找不到Microsoft Visual Studio 2017 Enterprise MSBuild 15.0 Bin Roslyn Microsoft.CSharp.Core.targets“。 确认声明中的路径是否正确,以及该文件是否存在于磁盘上。

我需要采取哪些步骤来修复此错误?

首先建议您使用TFS构建服务帐户在构建代理上直接使用msbuild命令。 如果问题与您的代理环境或TFS构建定义相关,这将缩小范围。

根据您的错误信息,路径C:Program Files (x86)Microsoft Visual Studio2017EnterpriseMSBuild15.0BinRoslynMicrosoft.CSharp.Core.targets正在寻找Visual Studio 2017的路径。

但是,对于构建工具,路径不同应该是C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0BinRoslyn

似乎您尚未在构建代理上安装VS2017。 这可能是问题的根本原因。

最简单的解决方案是在构建代理上安装VS2017。 请注意,您需要重新配置构建代理或重新启动构建代理服务以捕获这些新function。 否则,您需要更改.csproj项目文件中的相应导入部分。

我更新到TFS2018,问题解决了。

在我的情况下,打开现有的解决方案文件 (扩展名为.sln ),它安装了所有缺少的依赖项。

否则,请在nuget.org上手动检查缺少的目标包并安装它们(例如MSBuild.Microsoft.VisualStudio.Web.targets )。

根据这个GitHub问题 ,你需要设置$(RoslynTargetsPath)

如果在计算机上安装了MSBuild并且您的测试在Visual Studio Developer命令提示符下运行,则您不需要执行任何操作。 但是,MSBuild 15.0不再将自己置于注册表中,这使得MSBuild无法找到自己。 这是因为Visual Studio授权您可以进行多个并行安装。 在这种情况下,每个Visual Studio实例将安装一次MSBuild。 MSBuild现在通过查看VS命令提示符设置的环境变量来查找自己。

如果要通过我们的软件包和完成项目评估所需的所有其他软件包的组合来完全重新分发MSBuild,则必须在加载项目之前设置RoslynTargetsPath 。 您可能认为这是NuGet的一个问题,因为所有包’ 都会转到输出目录的根目录,而您无法为某些包指定子目录。

上述就是C#学习教程:缺少Microsoft.CSharp.Core.targets分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/961339.html

(0)
上一篇 2021年11月25日
下一篇 2021年11月25日

精彩推荐