我是nuget包发布的新手。
正在进行的项目是一个点网核心应用程序,它是一个开源项目。
在为分发文件指定content
时,我提供了两个选项lib
和target
。
因为到目前为止我还无法将dll连接到mac上的.net核心网络应用程序,研究表明该选项是可以安装/部署源代码。
其次,桌面上的用户可以使用提供的程序集dll开发他们的项目。
问题是,
用户可以选择要获取的内容吗? dll或源文件?
我是否要为每个,netstandard,netcore,net和uap创建一个单独的程序集?
我希望所有上述平台都可以使用程序集(首选)或源代码。二进制本身有一些不调用任何平台特定代码的功能,我们假设它是嵌入在DLL中的HelloWorld类。
来自https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
的图片答案 0 :(得分:3)
您可以制作2个单独的NuGet包:
然后包的用户可以通过选择他们想要的包来选择。
另一种选择是将NuGet包多重定位到桌面和netstandard / netcoreapp。您将编译程序集两次,然后在单个NuGet包中包含单独的程序集。网上有一些很好的文章描述了这一点。这是一个:http://blog.csmac.nz/dotnetcore-multi-targeting/。 VS 2017中的新.csproj格式允许您指定<TargetFrameworks>net45;netstandard1.6</TargetFrameworks.
您可以`dotnet pack然后桌面和.NET Core开发人员可以使用相同的包,并且他们会获得不同的程序集,无论哪个是专门为其框架构建的。 / p>