Unity-NuGet软件包会自动删除

时间:2019-10-05 20:12:54

标签: c# macos visual-studio unity3d nuget

我已经创建了一个Unity项目,并且想从这里https://github.com/falahati/NiWrapper.Net使用OpenNI包装器。 在JetBrains Rider中添加NuGet软件包后,它会出现并正确安装(可用),但是一两分钟后-该软件包消失了,Rider警告我它无法解析包装中的符号,并且找不到命名空间OpenNIWrapper ...但是奇怪的是,它仍然出现在项目的“包装”中。

我正在使用最新的MacOS Mojave,已经在VS for Mac,MonoDevelop和Rider中进行了尝试...我尝试删除该项目并从头开始创建它,并尝试更改Unity中的API兼容级别-两者均为4.0和2.0不起作用。

我注意到它会进行某种自动同步,或者从.csproj文件中删除该软件包。

基本上,我已经没有足够的想法了,在任何地方都找不到任何解决方案...感谢您的帮助,谢谢:)

2 个答案:

答案 0 :(得分:0)

Unity不支持nuget。在您的情况下,IDE将对nuget软件包的引用添加到了csproj,但是在每个脚本重新导入并删除所有其他数据(IDE之前添加过)之后,Unity会重新创建csproj文件。

要使用第三方软件包,您可以选择以下任何一种方式:

  • 只需克隆/复制带有第三方插件的存储库即可手动进行投影。
  • 使用git子模块。像第一种方法,但更易于管理。要了解更多信息,您可以查看https://git-scm.com/docs/git-submodule
  • 将第三方插件构建为DLL并将其添加到项目中。
  • 使用Unity软件包管理器。在这种情况下,您需要手动向Packages/manifest.json添加依赖项。要了解更多信息,您可以阅读https://docs.unity3d.com/Manual/upm-manifestPrj.html

答案 1 :(得分:0)

因此,基本上在@Radomyr和https://www.what-could-possibly-go-wrong.com/unity-and-nuget/之后,我创建了一个“ nuget.config”文件,告诉项目将程序包保存在资产中-这样就不会每次都删除它们:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <config>
        <add key="repositoryPath" value=".\Assets\packages" />
      </config>
    </configuration>