【发布时间】:2017-08-10 06:57:40
【问题描述】:
在 PowerShell 中使用 Nuget Pack 几个月没有问题后,每次都突然失败。
这些是消息:
正在尝试从“MyProj.fsproj”构建包。
MSBuild 自动检测:使用来自“C:\Program”的 msbuild 版本“12.0” 文件 (x86)\MSBuild\12.0\bin'。
导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\FSharp\Microsoft.Portable.FSharp.Targets" 没找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。 C:\GitHub\MyProj\MyProj.fsproj
我进入fsproj 文件并找到了这些元素:
<PropertyGroup>
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">12</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.Portable.FSharp.Targets" />
查看文件夹C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\FSharp,确实有一个名为Microsoft.Portable.FSharp.Targets的文件,但C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\FSharp中没有这个文件。
我尝试通过编辑 fsproj 文件并将 MinimumVisualStudioVersion 更改为 14 来解决此问题,但这没有任何好处。
为什么自动检测选择的是 MSBuild 12,而不是 MSBuild 14?更重要的是,为什么这可能会在数月的完美构建之后开始发生?
我正在使用命令nuget pack MyProj.fsproj -properties Configuration=Release。
【问题讨论】: