c# - C# Visual Studio 2019,元数字,错误:无法加载文件或程序集
问题描述
Visual Studio 2019 C#
项目 1:依赖项:Meta.Numerics 4.1.4。我通过管理解决方案项目 1 的 NuGet 包添加了元数值,这是一个将被编译的类库,并且 .dll 将与将在主应用程序中使用它的同事共享,项目 1 使用调试构建得很好。
using System;
using Meta.Numerics;
namespace LeakDetection
{
public class LeakDetectionOperations
{
public LeakDetectionOperations(int co = 24)
{ }
public int leakCheck()
{
double result = ComplexMath.Abs(10);
return 0;
}
}
}
项目 2 依赖项:项目 1。通过添加引用、浏览器导入并从项目 1 中选择 .dll 项目 2 只是一个简单的测试项目,我用来测试 .dll 对象。它运行,但在尝试调用 Meta.Numerics 的 ABS 函数时抛出异常。
using System;
using LeakDetection;
namespace LeakTest
{
class Program
{
static void Main(string[] args)
{
LeakDetectionOperations obj = new LeakDetectionOperations();
int ret;
ret = obj.leakCheck();
Console.WriteLine("Hello World!");
}
}
}
我已按照 Meta.Numeric gitrepo 关于安装的说明进行操作。按照他们建议安装软件包的方式完成了安装。我还清理了构建,并重新构建。我还从调试更改为发布,以查看是否有任何与导致错误的调试相关的内容。正如您在上面的代码中看到的那样,它相当小,因为这不是我的实际代码。它有点复杂,但不是发布完整的代码,而是复制我遇到的问题的最小可用代码。Meta.numeric 库中的任何内容均不可用。
我通常使用 Python 工作,有一定的 C 和 C++ 经验,但我使用 make 文件在 linux 中编译。使用 C#,Visual Studio 对我来说很新鲜。
任何关于我应该看哪里的建议将不胜感激。
更新:根据@kit 的建议,我在下面的项目 1 中包含了 .csproj 文件
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>Leak_Detection</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Meta.Numerics" Version="4.1.4" />
</ItemGroup>
</Project>
项目 2 的 .csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="Leak Detection">
<HintPath>..\..\Leak Detection\Leak Detection\bin\Debug\netcoreapp3.1\Leak Detection.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
解决方案
我不知道这是否正常,但对我来说解决问题的是通过库和控制台应用程序上的 Nuget 包管理器安装包。两种构建都需要参考。
我之前所做的只是为库构建安装包。看到控制台应用程序是如何使用被引用和调用的 .dll 进行编译的,调用应用程序还需要安装包。
推荐阅读
- javascript - 在Javascript中将不同的字符串转换为snake_case
- c# - 从asp.net c#中的类访问单击事件和aspx页面的控制
- node.js - 我可以从 node.js 设置 IP 标头吗
- python - Pytorch:获得最终层的正确尺寸
- performance - 缓存以下语言 PlayFramework 2 和 ehcache
- oracle - Tuxedo 客户端 12 崩溃
- git - 在证书错误中安装 Git for Windows 失败
- r - 计算每三个新值的偏差
- ios - Swift iOS 12 - 如何摆脱 Continue 按钮生成的字符 Partial Line Forward (U+008B)
- shopify - 如何在 Shopify 产品页面中显示产品变体元字段的输出?