我不得不将Newtonsoft.Json的便携式版本打包为内部NuGet软件包,并使用其他名称(Newtonsoft.SL5.Json
)。原因是我们正在建立共享的bin目录,并且我不希望Silverlight版本覆盖完整的.NET版本。 (是的,我们仍然有Silverlight,是的,对于我们拥有的非Silverlight代码,便携式Json.Net版本还不够好。)
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
?因为即使我更改了文件名,程序集名称仍然相同。
答案 0 :(得分:0)
在添加参考IDE时会获取包(lib / {platform} /)中包含的.dll文件。如果您重命名添加并打包在nupkg文件中的那些文件->应该将这些文件添加到元素中。