C# nuget包dll或源文件
我是nuget package publishing的新手 正在进行的项目是一个dotnetcore应用程序,它是一个开源项目 在为分发文件指定C# nuget包dll或源文件,c#,nuget,.net-core,nuget-spec,C#,Nuget,.net Core,Nuget Spec,我是nuget package publishing的新手 正在进行的项目是一个dotnetcore应用程序,它是一个开源项目 在为分发文件指定target时,我理解两个选项content和lib 因为到目前为止,我还无法将dll连接到mac上的.net核心web应用程序,而且研究表明,可以选择将源代码用于安装/部署 其次,桌面上可能有用户可以使用提供的程序集dll开发他们的项目 问题是, 用户可以选择要获取的内容吗?dll还是源文件 我必须为netstandard、netcore、net和ua
target
时,我理解两个选项content
和lib
因为到目前为止,我还无法将dll连接到mac上的.net核心web应用程序,而且研究表明,可以选择将源代码用于安装/部署
其次,桌面上可能有用户可以使用提供的程序集dll开发他们的项目
问题是,
您可以制作两个单独的NuGet软件包:
另一个选项是将您的NuGet包多目标定位到桌面和netstandard/netcoreapp。您将编译程序集两次,然后在单个NuGet包中包含单独的程序集。网上有一些很好的文章描述了这一点。这里有一个:。VS 2017中新的.csproj格式允许您指定
net45;netstandard1.6您还不能做什么?请详细描述您的问题。对于.net核心应用程序,您无法链接到dll,因此我将复制程序集的源代码以供使用,但是,对于桌面上的程序员,我希望将其作为dll分发,所以,你们能把源代码和库都分发到一个金块包中,开发人员可以选择挑选什么吗?“各种”本身就是一个疯狂的想法。许多著名的库都是通过NuGet targets.NET标准1.3发布的。有些人的目标是1.0,但确实很少。再次,向他人学习。“我无法将dll连接到Mac上的.NET核心web应用程序”是什么意思?如果你可以链接到一个NuGet软件包,那么请将你的dll打包到一个NuGet软件包中。好的,我用一个屏幕截图编辑了我的问题,那里有很多平台,我需要创建一个单独的目标并为每个目标提供单独的程序集吗netstandard
,netcoreapp
,net
,uap
,win
,wpa
,wp
,mono
等。?(仅限最新版本),我对.net不太了解,所以如果这个问题没有任何意义,请启发。@LexLi我必须为netstandard、netcore、net和uap分别创建一个单独的程序集吗?感谢您对多目标的启发,我还有一个问题,因为我是一个相对较新的人,实际上我正在从另一种语言为.net移植一个库。所以问题是,我是否应该为另外一个目标添加和分发程序集?例如,(NETStandard-PCLs的演变)一节下的这一页讨论了通用Windows平台、.NET平台标准、Windows、Windows phone、Windows phone silverlight、mono等。我是否必须为每个平台分发程序集?我已经编辑并添加了我问题中的截图,我被所有这些多个平台甩了,我必须为每个平台创建一个程序集吗?.NET标准是您要在多个平台上运行时应该针对的框架:.NET Core、UWP、Windows Phone、Mono等。如果您可以针对足够低的.NET标准版本,你几乎可以在任何地方运行你的库。例如,Newtonsoft.Json的目标是netstandard1.0
,因此它实际上可以在所有平台上运行。但是,您使用的.NET标准版本越低,可用的API就越少。如果您需要一个仅在.NET桌面框架中或仅在.NET核心上的API,则此时您必须启动多目标。感谢您的解释。