我有一个包装 Dapper.net 的小型 C# 库,我想为这个库创建一个 nuget 包。我创建了一个包含以下内容的文件夹:
Nuget-Package\
Nuget-Package\Package.nuspec
Nuget-Package\lib\
Nuget-Package\lib\DapperWrapper.dll
这是 nuspec
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>GoDaddy.Data</id>
<version>1.0.0</version>
<authors>Owner Name</authors>
<owners>Owner Name</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>I provide a fast and slim layer between your code and stored procedures that your application needs to use. This layer provides more straight-forward access to procs than straight ADO and less overhead than using Entity or Linq. It currently uses Dapper.Net to do some of this work.</description>
<releaseNotes>Initial Release</releaseNotes>
<copyright>Copyright 2014</copyright>
<tags>ADO Dapper Proc "Stored Procedure"</tags>
<dependencies>
<dependency id="Dapper" version="1.13" />
</dependencies>
</metadata>
</package>
然后我将生成的 DapperWrapper1.0.0.0.nupkg 复制到我的本地 nuget 服务器。
在此之后,我尝试将它安装在控制台应用程序上。我打开一个简单的控制台应用程序,右键单击引用并说管理 nuget 包。我找到并选择我的包并选择安装并收到以下错误:
Attempting to resolve dependency 'Dapper (≥ 1.13)'.
External packages cannot depend on packages that target projects.
我在这里做错了什么?
似乎太简单而不会失败,但我似乎无法在任何地方找到对此错误的良好解释。
最佳答案
答案可以在这里找到。 http://www.marcusoft.net/2011/12/creating-tools-only-nuget-package.html
显然 nuget 不会解析依赖项,除非您同时拥有“lib”和“content”文件夹,即使您没有使用它们也是如此。
哇,我觉得这是个 bug。
关于c# - 创建一个基本的 NuGet 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21393935/