ama*_*eur 7 nuget nuget-package
我目前正在创建一个带有nuspec文件的nuget包,但是收到以下错误:
Run Code Online (Sandbox Code Playgroud)An item with the same key has already been added.
我使用的命令是:
nuget pack"MyProject.csproj"-o"..\Packages"
这是我的nuspec文件:
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<language>$language$</language>
</metadata>
<files>
<file src="bin\MyLibrary*.dll" target="lib\net45" />
</files>
</package>
Run Code Online (Sandbox Code Playgroud)
我正在使用的nuspec文件也在使用相同的库打包其他包时使用.这可能是上述错误发生的原因吗?有任何想法吗?
您可能正在添加nuspec中的文件,当您在.csproj上调用pack时(csproj引用的文件/ dll)也会添加这些文件.如果是这样,您可以从nuspec文件中删除文件引用并尝试一下.你的nuspec文件怎么样?
我用以下步骤创建它
1.创建Mylibrary项目
2.让我添加一个依赖项,我将ninject包安装到项目中
3. build
4. nuget spec mylibrary.csproj
5.生成nuspec文件,我没有添加任何文件或依赖项手动到文件
6. nuget pack mylibrary.csproj
7. nuget pack会自动添加ninject作为依赖项,并将mylibrary.dll添加到正确的文件夹
8. http://npe.codeplex.com/是一个不错的用于打开nupkg文件并查看包内生成的内容的工具.