如何将Unity支持添加到NuGet包中?

7

我如何将支持Unity(游戏引擎)的软件包发布到NuGet?

另外,我是否需要安装Unity来进行编译,还是仅针对特定框架版本即可?


为什么不下载一个你知道可用的包(.nupkg),解压它并检查其内容呢? - mason
1个回答

2
如何将支持Unity(游戏引擎)的包发布到NuGet?
只需按照文档中的说明进行操作。用于Unity3D的类库与常规的.NET类库没有任何区别。它只是使用来自Unity3D的Mono分支的不同运行时。
另外,我需要安装Unity才能编译它吗?还是仅针对特定的框架版本就足够了?
是的。如果您的库使用Unity3D类型,则项目需要从Unity3D引用程序集,例如UnityEngine.dllUnityEditor.dll。如果您的库不使用Unity3D类型,则仍然需要使用Unity3D进行测试。因为旧版Unity3D的目标是.NET 2.0和.NET 3.5的子集。因此,如果您的库使用仅在.NET 4+中可用的功能,则无法与Unity3D一起使用。请参见使用dll
最好安装 Visual Studio Tools for Unity3D for VS2015(对于VS2017,请改为在VS安装器中安装VSTU),然后您可以针对Unity3D的一个目标。

Unity3D .NET targets

关于您的软件包发布,我认为您最好在Unity3D资产商店上发布您的软件包,因为它是官方支持的。在将软件包发布到资产商店时,您可能想尝试这个改进版的Unity3D资产商店工具

1
只需按照文档中的说明进行操作。据我所知,文档中没有提到Unity。另外,如果我不使用Unity,是否需要定位到UnityEngine.dll?我的库与Unity无关,但有人告诉我它在Unity项目中不能正常工作,因为它们需要特殊的NuGet包(这也解释了流行的“JSON.Net for Unity”库的存在)。 - BlueRaja - Danny Pflughoeft
关于Unity的JSON.Net,我们实际上使用的是Unity Asset Store上的版本,而不是Nuget上的版本。 - zwcloud

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接