在.net 4.5项目中使用.net 2.0 dll(vshost在调试时崩溃)

2023-12-02

我正在尝试使用通过 dotnetbuilder 从 matlab 创建的 dll 文件(http://www.mathworks.se/help/dotnetbuilder/ug/create-a-net-component-from-matlab-code.html)..

为了使用该 dll,我必须添加对名为“MWArray.dll”的 matlab dll 的引用(http://www.mathworks.se/help/dotnetbuilder/ug/integrate-your-net-component-in-a-c-application.html),遗憾的是这个 dll 似乎只适用于 .net 2.0。

我能够使简单的控制台应用程序与我从 matlab 创建的 dll 一起工作的唯一方法是执行以下操作:

  • 在 matlab 中构建 .net 2.0 的 dll 时,将其作为目标 点网构建器。
  • 更改我的控制台中使用的 .net 版本 应用到2.0版本

如果我不这样做,当我尝试运行该项目时,控制台应用程序将崩溃 vshost.exe。

我希望能够使用 .net 4.+ 功能,因此将项目配置为使用 .net 2.0 是不可接受的。当我让这个简单的控制台应用程序至少在 .net 4.0 上运行时,我会尝试获取它也在 F# 3.0 应用程序中工作。

我的程序如下所示:

...
using MathWorks.MATLAB.NET.Arrays;
using makesquare;

namespace Matlabski
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var stuff = new makesquare.MLTestClass();
                var res = stuff.makesquare(1, 3);
                Console.WriteLine(res[0]);
                Console.WriteLine("sdfsdf");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            Console.ReadKey();
        }
    }
}

我尝试编辑 app.config 文件以便能够处理 .net 2 和 4:

<?xml version="1.0"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
    <supportedRuntime version="v2.0"/>
  </startup>
</configuration>

但它不起作用..

是否可以设置项目以便我可以同时使用 .net 2.0 和 4.5,这将使我的项目正常工作吗?或者我必须做其他事情才能使用这个烦人的.net 2.0 dll..?

我在用:

  • VS2013
  • MATLAB R2013b(64 位)

解决了问题!

我编译了针对 .net 4 的 matlab 函数... 然后我添加了

[assembly: MathWorks.MATLAB.NET.Utility.MWMCROption("-nojit")] 

到代码..

结果代码如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MathWorks.MATLAB.NET.Arrays;
using makesquare;
[assembly: MathWorks.MATLAB.NET.Utility.MWMCROption("-nojit")] 

namespace Matlabski
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                MLTestClass stuff = new MLTestClass();
                object[] res = stuff.makesquare(1, 3);
                Console.WriteLine(res[0].ToString());
                Console.WriteLine("sdfsdf");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            Console.ReadKey();
        }
    }
}

app.config 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

但是,app.config 似乎不需要......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在.net 4.5项目中使用.net 2.0 dll(vshost在调试时崩溃) 的相关文章

  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • 将 Excel 导入到 Datagridview

    我使用此代码打开 Excel 文件并将其保存在 DataGridView 中 string name Items string constr Provider Microsoft Jet OLEDB 4 0 Data Source Dial
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • 如何将自定义 JSON 文件添加到 IConfiguration 中?

    我正在使用 asp net Autofac 我正在尝试加载自定义 JSON 配置文件 并基于该文件创建 实例化 IConfiguration 实例 或者至少将我的文件包含到默认情况下构建的 IConfiguration asp net 中
  • std::async 与重载函数

    可能的重复 std bind 重载解析 https stackoverflow com questions 4159487 stdbind overload resolution 考虑以下 C 示例 class A public int f
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 如何对 Web Api 操作进行后调用?

    我创建了一个 Web API 操作 如下所示 HttpPost public void Load string siteName string providerName UserDetails userDetails implementat
  • (de)从 CSV 序列化为对象(或者最好是类型对象的列表)

    我是一名 C 程序员 试图学习 C 似乎有一些内置的对象序列化 但我在这里有点不知所措 我被要求将测试数据从 CSV 文件加载到对象集合中 CSV 比 xml 更受青睐 因为它更简单且更易于人类阅读 我们正在创建测试数据来运行单元测试 该集
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了

随机推荐

  • 返回自连接表上的父/子关系

    我需要能够使用 SQL 返回所有级别的给定父 ID 的所有子列表 该表看起来像这样 ID ParentId Name 1 null Root 2 1 Child of Root 3 2 Child of Child of Root 给一个
  • 为什么 constexpr 似乎并不暗示 char* 为 const?

    似乎很明显 constexpr 意味着 const 因此很常见 constexpr int foo 42 no const here 但是如果你写 constexpr char const str foo 然后 如果传递了 Wwrite s
  • Typescript 和 Jest:模拟会抛出类型错误,因为它使用了错误的重载

    在 Jest 测试中给出以下内容 const mockDirListing string sdafd sfdf const mockReaddirSync jest spyOn fs readdirSync mockReaddirSync
  • Python Pandas 数据框到 XML

    希望得到一些帮助或推动正确的方向 我有一个来自 txt 文件的 pandas 数据框 并且想将其插入到我正在制作的 xml 文档中 我可以设置 xml 文档 并使用以下方法将我的数据帧转换为 xml 如何将 pandas dataframe
  • GWT:在服务器端获取常量

    我试图获取存储在服务器端客户端中的常量 ConstantsWithLookup 但它不知道如何做到这一点 我的常量接口和常量属性位于同一文件夹中 我尝试过其他类似线程的提示 但没有成功 我尝试使用 ResourceBundle 尝试 Her
  • 获取java.util.Arrays$ArrayList的类

    我怎样才能知道实例java util Arrays ArrayList 我已经尝试过这个代码片段 但它根本不起作用 if myList instanceof Arrays Do something here 我将对象类类型与 ArrayLi
  • jQuery 日期选择器多选和取消选择[重复]

    这个问题在这里已经有答案了 是否可以启用jquery UI datepicker 来启用多选和取消选择 我正在使用的日期选择器的示例 http jqueryui com datepicker 我有一个要求 使日期选择器能够选择多个日期 我想
  • 包含撇号的 Ruby 正则表达式是什么?

    我目前正在为 Ruby 做 exercism io 但无法通过最后的测试 最后的测试内容如下 def test with apostrophes phrase Phrase new First don t laugh Then don t
  • 如何处理 Visual Studio C++ 中的访问冲突?

    通常访问冲突会终止程序 并且我无法使用以下命令捕获 Win32 异常try and catch 有没有办法让我的程序保持运行 即使发生访问冲突 最好我想处理异常并向用户显示发生了访问冲突 编辑 我希望我的程序非常健壮 即使是针对编程错误 我
  • 如何使用 JDBC 连接到本地主机?

    我在自己的机器上安装了MySql 我使用 MySql CommandLine Client 创建了数据库 创建了表 在学校开展项目时 我使用以下语法连接到学校的数据库 public static Statement connect try
  • 忽略 Elasticsearch 中的空格

    对于我的搜索 我想考虑以下事实 space 过滤器请求中的字符不是强制的 例如 当我过滤 THE ONE 我看到了相应的文档 就算写了也想看 THEONE 这就是我今天的查询的构建方式 boolQueryBuilder must Query
  • 在google云平台上部署python脚本

    我正在弄清楚如何在谷歌云平台上部署我的脚本 我已经创建了一个包含以下内容的目录或文件夹script py以及所有的图书馆 lib文件夹 我不明白的是设置我的app yaml to run script py python 2 7 和访问li
  • Jquery在页面加载后生效

    我正在使用jquery ui 但该页面需要很长时间才能加载 我还对 UL 标签的 LI 元素使用制表符功能 但一瞬间列表按原样显示 然后选项卡效果发生 我已经编写了用于在同一 html 文件中调用选项卡的 javascript 我如何减少加
  • 使用 soundpool 播放声音示例

    我想学习如何使用soundpool方法 我想让你向我展示一个运行 2 个声音的非常简单的示例 创建一个名为的文件夹raw under your app res 然后将您的铃声粘贴到此文件夹中 例如your app res raw ringt
  • 在两个可能的分隔符之一之前查找一个单词

    word 12335 anotherword 2323434 totallydifferentword 455 word 32 我需要抓取之前的字符串 or 仅使用基本 R 函数 我可以使用以下方法来做到这一点stringr但不想向我的包添
  • 如何在.net core项目中设置soapclient的超时

    我必须在 Net Core 2 0 项目中使用 SOAP 服务 我添加了服务参考 如以下链接所述 缺少链接 404 对于某些方法 服务运行良好 但是 某些方法需要很长时间 由于操作服务正在执行 在这种情况下程序会抛出异常 System Ne
  • 如何从我自己的网站更新 Facebook 状态?

    我有自己的网站 正在创建博客 新闻条目 但我希望在添加它们时将它们直接上传到我的 Facebook 页面 有没有一种简单的方法可以做到这一点 我的代码是这样的 是否有代码或 API 我可以用来更新我的 Facebook 页面 您需要注册成为
  • 带有post请求和参数作为Json对象android的HttpUrlConnection

    您好 我正在开发小型 Android 应用程序 我想在其中使用 HttpUrlConnection post 请求 并将 params 作为 json 对象 但它对我不起作用我是通过以下方式做到的 try URL url DataOutpu
  • 服务器端包含在expressjs中

    是否可以使用express js 生成服务器端包含 我正在尝试在不同页面上重用页眉和页脚标记 以便我可以在一处进行页眉 页脚更改 尝试使用部分 您必须在一些模板引擎之间进行选择 默认模板引擎是jade 因此为此您必须执行以下操作 创建一个文
  • 在.net 4.5项目中使用.net 2.0 dll(vshost在调试时崩溃)

    我正在尝试使用通过 dotnetbuilder 从 matlab 创建的 dll 文件 http www mathworks se help dotnetbuilder ug create a net component from matl