来自 PCL 的 NuGet 包
NuGet package from PCL
我有一个 PCL 库,我想将其作为 NuGet 包分发。
PCL 应用程序库属性页面的屏幕截图:
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
- 创建指向项目文件夹的本地 nuget 包存储库。
- 打开 NugetConsole 解决方案并尝试在两个项目中安装包。
我使用的一些参考资料:
How can I make a nuget package from a PCL library and use it in a PCL library?
我已经下载了你的 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 库,因此目标应该是 .net45
+ Profile49
,根据对于文档 Portable Class Library (PCL) profiles,nuget 目标应该是 portable-net45+wp8:
2。将该包安装到两个项目:
从GitHub下载这两个测试项目,用Visual Studio2017打开,然后将创建的包复制到本地nuget feed:
打开包管理器控制台,使用以下命令安装包:
install-package My.Package -source D:\LocalServer
所以 nuget 包在两个项目中都是正确安装的。
注意:我在控制台应用程序的项目文件中看到以下代码:
<ItemGroup>
<PackageReference Include="My.Package">
<Version>1.0.0</Version>
</PackageReference>
</ItemGroup>
请删除它,这不是添加 nuget 包的正确方法。
我有一个 PCL 库,我想将其作为 NuGet 包分发。
PCL 应用程序库属性页面的屏幕截图:
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
- 创建指向项目文件夹的本地 nuget 包存储库。
- 打开 NugetConsole 解决方案并尝试在两个项目中安装包。
我使用的一些参考资料:
How can I make a nuget package from a PCL library and use it in a PCL library?
我已经下载了你的 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 库,因此目标应该是 .net45
+ Profile49
,根据对于文档 Portable Class Library (PCL) profiles,nuget 目标应该是 portable-net45+wp8:
2。将该包安装到两个项目:
从GitHub下载这两个测试项目,用Visual Studio2017打开,然后将创建的包复制到本地nuget feed:
打开包管理器控制台,使用以下命令安装包:
install-package My.Package -source D:\LocalServer
所以 nuget 包在两个项目中都是正确安装的。
注意:我在控制台应用程序的项目文件中看到以下代码:
<ItemGroup>
<PackageReference Include="My.Package">
<Version>1.0.0</Version>
</PackageReference>
</ItemGroup>
请删除它,这不是添加 nuget 包的正确方法。