Как устранить ArgumentNullException, вызванное добавлением <FrameworkReference> в файл проекта.nuproj?
Согласно документации NuProj,
NuGet также поддерживает добавление ссылок на сборки фреймворка. Вы можете указать их через элемент FrameworkReference:
<ItemGroup> <FrameworkReference Include="System.dll" /> <FrameworkReference Include="System.Core.dll" /> </ItemGroup>
Но когда я пытаюсь это сделать (см. Ниже), я получаю то, что выглядит как ArgumentNullException
- сгенерированный .nuspec
файл содержит правильный <frameworkAssembly>
элементы, однако:
1>C:\…\MSBuild\NuProj\NuProj.targets(527,5): error : Value cannot be null. 1>C:\…\MSBuild\NuProj\NuProj.targets(527,5): error : Parameter name: folderName
Это часть моего .vbproj
файл:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
…
<PropertyGroup>
<NuProjPath Condition=" '$(NuProjPath)' == '' ">$(MSBuildExtensionsPath)\NuProj\</NuProjPath>
</PropertyGroup>
<Import Project="$(NuProjPath)\NuProj.props" Condition="Exists('$(NuProjPath)\NuProj.props')" />
<PropertyGroup Label="Configuration">
<Id>SomeProject</Id>
<Version>…</Version>
<Title>…</Title>
…
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SomeProject.vbproj" />
</ItemGroup>
<!-- the next ItemGroup is the one I added manually, as shown in the documentation: -->
<ItemGroup>
<FrameworkReference Include="System.ServiceModel.dll" />
</ItemGroup>
<Import Project="$(NuProjPath)\NuProj.targets" />
</Project>
Я что-то не так делаю, или это ошибка в NuProj?
1 ответ
Решение
Это проблема с v3.4.3 Nuget.exe - подробности здесь: https://github.com/NuGet/Home/issues/2648
Я смог решить эту проблему путем обновления до v3.5.0 - просто запустите > nuget update -self
в командной строке.