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

米歇兰达拉

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

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

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

  • 在使用dotnetbuilder在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 ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MVC 4项目中使用XSockets.NET。在IIS 7.0上部署项目

来自分类Dev

在asp.net mvc4项目中使用draggable()jQuery函数?

来自分类Dev

在.NET WPF项目中使用dll

来自分类Dev

使用Angular 2设置ASP.NET MVC 4或5项目

来自分类Dev

使用Angular 2设置ASP.NET MVC 4或5项目

来自分类Dev

在非Asp.Net 5项目中使用gulp或grunt

来自分类Dev

在现有的ASP.NET MVC 5项目中使用WebAPI 2.2

来自分类Dev

如何在asp.net 4项目中安装angular2

来自分类Dev

在 Net Beans IDE 中的同一项目中使用不同包时出现问题

来自分类Dev

打包.NET Framework DLL并在.NET标准项目中使用

来自分类Dev

我如何在asp.net 5项目中添加本地dll

来自分类Dev

加载.NET 2或.NET 4时如何设置断点?

来自分类Dev

在ASP NET MVC 6项目中使用System.Net.Mail

来自分类Dev

在 NET Standard 项目中使用 .NET 4.6.1 NuGet 包时出现问题(bin 中缺少 dll)

来自分类Dev

为什么在 ASP.NET 项目中使用 Angular 2?

来自分类Dev

在 asp.net core 2 项目中使用路由提供角度服务

来自分类Dev

如何在targeting.net 4.0项目中使用异步关键字

来自分类Dev

从ASP.Net 5项目中完全删除凉亭

来自分类Dev

在多个项目中的asp.net 5依赖项注入

来自分类Dev

将jTable(jQuery)集成到使用默认布局的ASP.NET MVC 5项目中

来自分类Dev

在使用/父项目中指定要在类库中使用的log4net配置

来自分类Dev

在使用/父项目中指定要在类库中使用的log4net配置

来自分类Dev

在ASP.NET MVC项目中使用实体框架代码优先时登录失败错误

来自分类Dev

在 .Net Core 项目中使用 AutoMapper 时,ForMember 设置不起作用

来自分类Dev

在WebApi2项目中使用CacheOutput属性时,依赖项的解析失败

来自分类Dev

在WebApi2项目中使用CacheOutput属性时,依赖项的解析失败

来自分类Dev

在Xcode 5项目中使用Core Plot 2

来自分类Dev

在Qt 5项目中使用Nite 2

来自分类Dev

在Xcode 5项目中使用Core Plot 2

Related 相关文章

  1. 1

    在MVC 4项目中使用XSockets.NET。在IIS 7.0上部署项目

  2. 2

    在asp.net mvc4项目中使用draggable()jQuery函数?

  3. 3

    在.NET WPF项目中使用dll

  4. 4

    使用Angular 2设置ASP.NET MVC 4或5项目

  5. 5

    使用Angular 2设置ASP.NET MVC 4或5项目

  6. 6

    在非Asp.Net 5项目中使用gulp或grunt

  7. 7

    在现有的ASP.NET MVC 5项目中使用WebAPI 2.2

  8. 8

    如何在asp.net 4项目中安装angular2

  9. 9

    在 Net Beans IDE 中的同一项目中使用不同包时出现问题

  10. 10

    打包.NET Framework DLL并在.NET标准项目中使用

  11. 11

    我如何在asp.net 5项目中添加本地dll

  12. 12

    加载.NET 2或.NET 4时如何设置断点?

  13. 13

    在ASP NET MVC 6项目中使用System.Net.Mail

  14. 14

    在 NET Standard 项目中使用 .NET 4.6.1 NuGet 包时出现问题(bin 中缺少 dll)

  15. 15

    为什么在 ASP.NET 项目中使用 Angular 2?

  16. 16

    在 asp.net core 2 项目中使用路由提供角度服务

  17. 17

    如何在targeting.net 4.0项目中使用异步关键字

  18. 18

    从ASP.Net 5项目中完全删除凉亭

  19. 19

    在多个项目中的asp.net 5依赖项注入

  20. 20

    将jTable(jQuery)集成到使用默认布局的ASP.NET MVC 5项目中

  21. 21

    在使用/父项目中指定要在类库中使用的log4net配置

  22. 22

    在使用/父项目中指定要在类库中使用的log4net配置

  23. 23

    在ASP.NET MVC项目中使用实体框架代码优先时登录失败错误

  24. 24

    在 .Net Core 项目中使用 AutoMapper 时,ForMember 设置不起作用

  25. 25

    在WebApi2项目中使用CacheOutput属性时,依赖项的解析失败

  26. 26

    在WebApi2项目中使用CacheOutput属性时,依赖项的解析失败

  27. 27

    在Xcode 5项目中使用Core Plot 2

  28. 28

    在Qt 5项目中使用Nite 2

  29. 29

    在Xcode 5项目中使用Core Plot 2

热门标签

归档