我有一个新的Unity项目,并按照Using .NET 4.x in Unity中的说明进行操作,我从gallery下载了Microsoft.ML.Probabilistic.Compiler NuGet程序包,并将DLL复制到了Assets / Plugins。在此之后,Unity输出错误消息
程序集'Assets / Plugins / Microsoft.ML.Probabilistic.Compiler.dll'将 由于错误而无法加载:无法解析参考 'Microsoft.ML.Probabilistic'。程序集是否缺失或不兼容 使用当前平台?
我下载并复制了丢失的DLL及其后的每个丢失的DLL依赖
在添加System.Reflection.Metadata.dll之后,Unity不再显示任何错误。
当我添加
using Microsoft.ML.Probabilistic;
using Microsoft.ML.Probabilistic.Compiler;
对于脚本,该项目在Unity和Visual Studio Community中都可以正常构建,但是当我尝试使用这些库时,即Microsoft.ML.Probabilistic.Compiler.Variable<T>
类
using UnityEngine;
using Microsoft.ML.Probabilistic;
using Microsoft.ML.Probabilistic.Compiler;
public class Main : MonoBehaviour {
void Start () {
Variable<bool> firstCoin = Variable.Bernoulli (0.5);
}
}
Unity和Visual Studio均失败
资产/脚本/Main.cs(7,3):错误CS0246:类型或名称空间名称 找不到'Variable <>'(您是否缺少using指令或 组装参考?)
和
资产/脚本/Main.cs(7,30):错误CS0103:名称“变量”确实存在 当前上下文中不存在
将-r:Microsoft.ML.Probabilistic.Compiler.dll
添加到Assets / mcs.rsp文件会产生错误
Microsoft(R)Visual C#编译器版本2.9.1.65535(9d34608e) 版权所有(C)Microsoft Corporation。保留所有权利。
错误CS0006:元数据文件“ Microsoft.ML.Probabilistic.Compiler.dll” 找不到
项目配置为
我是否设置没有关系
或
其他设置保留为默认设置。
我没有按照指南的说明将DLL添加到Visual Studio中的vs项目中
Visual Studio为Unity项目重新生成.csproj和.sln文件 每次打开时。结果,您无法添加程序集 直接在Visual Studio中引用,因为它们会丢失 重新打开该项目。相反,必须有一个名为mcs.rsp的特殊文本文件。 被使用:
在Unity项目的根Assets目录中创建一个名为mcs.rsp的新文本文件。
在空文本文件的第一行,输入:-r:System.Net.Http.dll,然后保存文件。您可以将“ System.Net.Http.dll”替换为可能缺少参考的任何随附程序集。
重新启动Unity编辑器。
答案 0 :(得分:1)
Variable<bool>
既不是Probabilistic
也不是Probabilistic.Compiler
相反,您需要包括using Microsoft.ML.Probabilistic.Models;
,其中Variable<T>
是其中的一部分。
using UnityEngine;
using Microsoft.ML.Probabilistic.Models;//we need Probabilistic.Models
public class SomeScript : MonoBehaviour
{
void Start()
{
Variable<bool> firstCoin = Variable.Bernoulli(0.5);
}
}
在.net 4.x运行时中使用统一的2018.3和2019.1进行了测试,并且构建良好(尽管在Windows上应该没有什么不同)。
...,然后将DLL复制到Assets / Plugins。在此之后,Unity输出错误消息
我个人不必这样做就可以正常工作。我使用Install-Package Microsoft.ML.Probabilistic.Compiler -Version 0.3.1810.501
从NuGet将该软件包直接下载到默认目录(project / Packages /)。它还不需要我下载任何其他DLL。