无法在 ML.NET 中加载文件或程序集 System.Numeric.Vectors

Mar*_*her 8 c# msbuild visual-studio ml.net

我创建了一个新的控制台应用程序 .net46,安装了最新的 ML 并尝试了一个简单的 LDA。得到上面的错误。我在网上找到的修复程序似乎都不起作用。它正在寻找不存在的 System.Numerics.Vectors 的 4.1.3.0 版本。

小智 14

存在 MSBuild 需要版本4.1.3.0但下载的问题4.1.4.0。你应该添加

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
        <assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.4.0" />
    </dependentAssembly>
</assemblyBinding>
Run Code Online (Sandbox Code Playgroud)

MSBuild.exe.config。它通常位于C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin

我在 Visual Studio 16.8.2 和 16.8.3 发现了这个错误。

  • 如果您间接依赖于 System.Numerics.Vectors,则可能必须将上述 &lt; assemblyBinding&gt; 添加到可执行项目的 App.config 中。 (2认同)

小智 1

我认为这可能与此 GitHub 问题有关:https ://github.com/dotnet/runtime/issues/26370

我认为要么按照乔恩的建议尝试安装 System.Numerics.Vector 包,要么更新到 net472 或 .NET Standard 2.0 可能会有所帮助。