我有一个 PCL 库我想以NuGet包的形式发布。
csproj文件:
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile111</TargetFrameworkProfile>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
克隆两个回复:
构建NugetPackage项目+ nuget spec
+ nuget pack
我使用的一些参考文献:
答案 0 :(得分:1)
如何从PCL库制作nuget包并在PCL库中使用它?
我已经下载了你的nuget包和测试项目,我可以创建nuget包并将它安装到这两个项目中。以下是我的详细步骤:
<强> 1。创建nuget包:
下载nuget项目,然后构建项目+ nuget spec
+ nuget pack
:
以下是.nuspec
文件:
<?xml version="1.0"?>
<package >
<metadata>
<id>My.Package</id>
<version>1.0.0</version>
<authors>Tester</authors>
<owners>Tester</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2018</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
<files>
<file src="bin\**" target="lib\portable-net45+wp8\" />
</files>
</package>
注意:由于您计划将此软件包用于PCL库,因此根据文档Portable Class Library (PCL) profiles,目标应为.net45
+ Profile49
, nuget目标应该是 portable-net45 + wp8 :
<强> 2。将该软件包安装到两个项目中:
从GitHub下载这两个测试项目,并使用Visual Studio 2017打开它,然后将创建的包复制到本地nuget feed:
打开包管理器控制台,使用以下命令安装包:
install-package My.Package -source D:\LocalServer
因此nuget包在两个项目中都是正确的安装。
注意:我在控制台应用程序的项目文件中看到了以下代码:
<ItemGroup>
<PackageReference Include="My.Package">
<Version>1.0.0</Version>
</PackageReference>
</ItemGroup>
请删除它,这不是添加nuget包的正确方法。