Мне пришлось упаковать портативную версию Newtonsoft.Json как внутренний пакет NuGet под другим именем (Newtonsoft.SL5.Json
).Причина в том, что мы встраиваемся в общий каталог bin, и я не хочу, чтобы версия Silverlight перезаписывала полную версию .NET.(Да, у нас все еще есть Silverlight и да, портативная версия Json.Net недостаточно хороша для того кода, который у нас не Silverlight) *
- Имя файла пакета - Newtonsoft.SL5.Json.8.0.1.19229.nupkg
- Внутри него находится Newtonsoft.SL5.Json.nuspec
- Внутри него находится lib \ sl5 \ Newtonsoft.SL5.Json.dll
nuspecсодержимое файла:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>Newtonsoft.SL5.Json</id>
<version>8.0.1.19229</version>
<authors>Newtonsoft</authors>
<owners>Newtonsoft</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Json.NET Portable .NET 4.0</description>
<copyright>Copyright © James Newton-King 2008</copyright>
</metadata>
</package>
Теперь я что-то не так делаю, потому что в результате при добавлении зависимости в Visual Studio создается ссылка:
<Reference Include="Newtonsoft.SL5.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\packages\Newtonsoft.SL5.Json.8.0.1.19229\lib\sl5\Newtonsoft.SL5.Json.dll</HintPath>
<Private>True</Private>
</Reference>
ИКонечно, такой сборки нет Newtonsoft.SL5.Json
.Это должно быть Newtonsoft.Json
.
Итак, я делаю что-то не так.Как мне изменить пакет NuGet, чтобы он использовал правильное имя сборки, то есть Newtonsoft.Json
?Потому что, хотя я изменил имя файла, имя сборки остается прежним.