c# - VBA C# DLL 未注册

标签 c# vba dll

我制作了一个 C# .NET dll,我想从 VBA 运行它而不注册它。 我找到了解决方案there并且它可以完美工作,但前提是程序集是使用 Framework NET 3.5 或更早版本进行的。 使用 Framework 4.0,我收到错误“此程序集是由比当前加载的运行时更新的运行时构建的,无法加载”。 有人可以帮助我吗?

最佳答案

所以,我找到了解决方案。

默认情况下,Excel 使用 1.1 框架,如所述 here 。 如果您查看了 Windows 注册表,

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\AppPatch\YOUR_FRAMEWORK_VERSION\excel.exe\

可以看到目标版本是v1.1..... 因此,解决方案是制作一个强制使用 Framework 版本 4 的 Excel.exe.config 文件,如所述 here

 <configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0.30319"/>
  </startup>
</configuration>

关于c# - VBA C# DLL 未注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35174557/

相关文章:

c# - 从左到右编号坐标和拉绳

c# - 摆脱 ListView 中的 1 像素填充/边框间隙?

vba - 如何为带有幻灯片时间和标题的PowerPoint视频制作生成YouTube索引?

c# - 使用 Windows.winmd 引用库

c++ - Ruby - 将方法作为回调传递给 DLL 库

c++ - 使用 OpenCV 和 C 裁剪图像

c# - ArrayList 的.NET 并行处理

c# - 如果我不从 asp.net 中的图像上传控件中选择图像,我想在数据库中插入 null

excel - 将Excel中的文本粘贴到Word标题中?

excel - 将包含超过 X 行数据的工作表复制到另一个工作簿