我有一个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?
答案 0 :(得分:1)
确保已安装.NET 4.7.1。即便如此,由于Visual Studio不会将NuGet包复制到输出目录,因此期望获得类似的“无法加载文件或程序集”#34;其中一个错误。
如果您可以使用单个项目但只有两个DLL,则可以选择以下方法:在.csproj中,删除TargetFramework
行并根据您的代码需要将其替换为多个目标,例如:
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
然后使用net461 DLL供COM和netstandard2.0使用,供.NET使用。