我正在尝试为我的库创建一个依赖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包,有人可以建议我在这里可能缺少什么。有什么指针吗?
谢谢,
拉维
答案 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参考提到哪里?