在PowerShell中使用Nuget Pack几个月之后没有任何问题,每次突然失败。
这些是消息:
尝试从“MyProj.fsproj'”
构建软件包。MSBuild自动检测:使用msbuild版本' 12.0'来自' C:\ Program 文件(x86)\ MSBuild \ 12.0 \ bin'。
导入的项目" C:\ Program Files (86)\的MSBuild \微软\ 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
。
答案 0 :(得分:0)
我刚刚解决了这个问题。我已经卸载了Visual Studio 2015.它仍在使用旧版本的MSBuild。
解决这个问题:
nuget update -self