nuget pack命令不包括Microsoft unity

时间:2017-12-21 14:36:35

标签: nuget nuget-package

我正在尝试为我的库创建一个依赖Unity的nuget包。为此,我在我的nuspec文件中放置了一行。

<dependencies>
  <dependency id="Unity" version="[3.5.0.0]" include="all" />
</dependencies>

然后在命令

下执行
nuget pack MyClient.MyProject.ApplicationData.csproj -Prop Configuration=Release

当我使用结果包时,在运行时我收到错误说,&#34;无法加载文件或程序集&#39; Microsoft.Practices.Unity,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35&#39;或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)&#34;

This question似乎指向类似的问题,指的是我复制了nuget.config文件,如其引用的链接所示,但是没有帮助。 nuget.config文件的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="repositoryPath" value="packages" />
  </config>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
</configuration>

我的项目层次结构就像这样

MyClient  
--MyProject  
----MyProj.csproj  
----MyProj.nupkg  
--Packages  
----Unity.3.5.1404.0  
--NuGet.Config  

我和我一起得到了最新版本的nuget,这是我第一次创建一个nuget包,有人可以建议我在这里可能缺少什么。有什么指针吗?

谢谢,
拉维

1 个答案:

答案 0 :(得分:0)

我查了一下&#34; Unity,3.5.0.0&#34;包在nuget.org.v3(https://api.nuget.org/v3/index.json

中不存在

我已经尝试使用下面的nuspack文件打包命令。

<dependency id="Unity" version="5.0.0" />

nuget.exe pack "D:\Test.Project.nuspec"

它创建了具有依赖性的正确包。

这些细节将有所帮助:这个项目使用的nuget版本是什么? nuget参考提到哪里?

  1. 在package.config和解决方案文件(nuget version 2x)
  2. 在Project.json(nuget版本3x)