nuget pack命令不包括Microsoft unity

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nuget pack命令不包括Microsoft unity相关的知识,希望对你有一定的参考价值。

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

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

然后在命令下面执行

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

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

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包,有人可以建议我在这里缺少什么。有什么指针吗?

谢谢, 拉维

答案

我检查了nuget.org.v3(https://api.nuget.org/v3/index.json)上不存在“Unity,3.5.0.0”软件包

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

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

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

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

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

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

以上是关于nuget pack命令不包括Microsoft unity的主要内容,如果未能解决你的问题,请参考以下文章

如何为 msbuild 安装 nuget.build.tasks.pack.targets

text NuGet Pack

text NuGet Pack

dotnet pack 不适用于 Azure Function(Pack Azure Functions for Nuget)

如何为msbuild安装nuget.build.tasks.pack.targets

NuGet 包 Microsoft.SqlServer.Compact 不复制本机 DLL