regasm netstandard DLL

问题描述 投票:0回答:1

我有一个C#项目,我想用作其他.NET程序集的.NET Standard 2.0库和本机代码的COM组件。当我定位完整的.NET Framework时,我可以很好地创建COM对象,但是当我创建一个面向.NET Standard的新项目时,我尝试注册时遇到了这个错误:

regasm /codebase /tlb MyLib.dll

RegAsm:错误RA0000:无法加载文件或程序集'netstandard,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'或其依赖项之一。该系统找不到指定的文件。

如何构建和注册与.NET Standard和COM兼容的DLL?

com-interop regasm .net-standard-2.0
1个回答
1
投票

确保已安装.NET 4.7.1。即使这样,由于Visual Studio不会将NuGet包复制到输出目录,因此期望获得类似的“无法加载文件或程序集”错误。

如果您可以使用单个项目但只有两个DLL,则可以选择:在.csproj中,删除TargetFramework行并根据您的代码需要将其替换为多个目标,例如:

<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>

然后使用net461 DLL供COM和netstandard2.0使用,供.NET使用。

© www.soinside.com 2019 - 2024. All rights reserved.