1. go to your desired NuGet package webpage.
2. on the right side **Download Package** option click it.
3. your package **.nupkg** file will be downloaded.
4. change its extension to .zip and extract it
5. go to lib and copy your package dll file from net or any netstandard folder. For [your unity project compatibility purposes][2] view this:
6. open unity workspace and create plugin folder
7. paste your dll file here.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<!-- This makes Nuget to place the packages at ./Assets/Plugins -->
<add key="repositoryPath" value="./Assets/Plugins" />
</config>
<packageSources>
<clear /> <!-- Delete packageSources from other nuget.configs -->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
packages.nuget:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<!-- targetFramework="netstandard2.0" makes nuget to unzip the netstandard2.0 version of the package-->
<package id="PackageA" version="1.0.0" targetFramework="netstandard2.0" />
<package id="PackageADependsOnThis" version="1.0.0" targetFramework="netstandard2.0" />
<package id="PackageB" version="1.0.0" targetFramework="netstandard2.0" />
</packages>
8条答案
按热度按时间fae0ux8s1#
我想我应该加上这个以防有人知道
我使用Nuget for Unity资产(免费的)来导入一个包(websocketsharp),这真的很容易,而且没有痛苦。
你要导入的软件包自然必须与Unity兼容,但是即使你手动导入也是一样的。
vuv7lop32#
这里are the details、
5t7ly7z53#
你真的不想走上配置Unity来自动使用Nuget的道路。那篇文章已经相当老了。在Unity 2018中,你得到了一个.net标准2.0的兼容级别,这应该是完美的Nuget包。简单地使用一个单独的VS项目下载包(如文章中所提到的),然后把这个DLL的netstandard20版本放在你的Unity项目中。
to94eoyn4#
使用原生Nuget(适用于只针对一个框架的包)
您可以创建一个
nuget.config
和一个packages.nuget
文件,并将它们放在项目的根目录中,而不是手动下载所有内容。nuget.config
:packages.nuget
:用法
要恢复这些包,请在终端中打开项目的根目录,然后输入以下命令:
您可能希望忽略
-NoCache
,它会阻止nuget使用位于C:\Users\<username>\.nuget\packages
该高速缓存。如果您使用私有nuget feed,并且缓存中已经存在符合您所需包名和版本但来自不同feed的包,这将非常有用。这种方法的缺点是,在
./Assets/Plugins
中,您将同时拥有netstandard2.0-Library和Nuget包,如下所示:x1c 0d1x Nuget软件包通常不是很大,所以这不应该是一个因素。还要注意的是,这种方法不会解决软件包依赖关系,你必须自己在packages.config
中列出它们。编辑:我注意到另一个缺点:针对多个框架的NugetPackages也将被安装。这将导致Unity-Error,您需要自己删除这些框架安装。
另请参阅
nuget.config reference
j5fpnvbx5#
您可以使用本地
dotnet restore
或nuget restore
命令用nuget软件包填充asset文件夹。获取软件包
指定在命令行或
nuget.config
文件中放置软件包的位置,以便将其作为资产包含在Unity中。这可以放在与您的dotnet解决方案相同的文件夹中,在这种情况下,您可以在解决方案文件夹中还原带有
dotnet restore
或nuget restore
的包。配置Unity中使用的版本
在Unity编辑器中,从软件包中找到dll文件
在检查器中打开文件,并针对平台禁用它,或有条件地针对构建约束禁用它。
这被保存到
.dll.meta
文件中,与.dll
文件在同一个目录下。配置源代码管理以保留
.dll.meta
文件这个
.gitignore
将从包中排除所有内容,但将保留指定Unity使用哪个版本的.dll.meta
文件。ztyzrc3y6#
您必须手动设置下载的nuget /is在packages文件夹/ plugins中。Nuget不知道哪个插件可以使用unity以及如何使用。您可以在检查器中设置它们的参数:编辑器,独立... x86、x64...
txu3uszq7#
有一个NuGet2Unity可以将任何Nuget包转换成一个'. unitypackage'。我已经用它来转换“SpecFlow”,我能够导入得到的Unity包。看看他们的例子。
它对我很有效:
dotnet.exe运行-n规范流--版本3.0.225
hlswsv358#
对我有效的流程是:
1.下载NuGet软件包
1.解压缩并获取.NET 4.x的DLL
1.在“资源”下创建“插件”文件夹(资源/插件)
1.将DLL粘贴到Plugins文件夹中
然后Unity在控制台中抛出了一堆错误,所有这些错误看起来都是兼容性问题,所以我回到nuget.org并查看包的依赖关系。然后我对Unity最初抛出错误的每个包重复上述步骤。