如何控制编译后的.NET组件中使用的.NET运行时版本?
我想在MatlabBuilder NE中编译一些Matlab代码。如何控制编译后的.NET组件中使用的.NET运行时版本?,.net,matlab,.net-4.0,.net-2.0,matlab-deployment,.net,Matlab,.net 4.0,.net 2.0,Matlab Deployment,我想在MatlabBuilder NE中编译一些Matlab代码。 在这段代码中,我想调用.NET程序集,使用Matlab的内置功能来使用.NET组件: 过程是这样的: C#调用Matlab编译的.netdll MCR使用.NET程序集执行某些操作(如上所述) MCR将答案返回给C# 这是一个Matlab代码示例,正在编译为.NET组件,目标为.NET4 function ver = GetVersion() NET.addAssembly('System'); ver = ch
在这段代码中,我想调用.NET程序集,使用Matlab的内置功能来使用.NET组件:
过程是这样的:
function ver = GetVersion()
NET.addAssembly('System');
ver = char(System.Environment.Version.ToString())};
end
然而,当编译这个简单的代码时,通过查看ver,我意识到它使用的是.NET2而不是.NET4
当我直接从Matlab使用它时,我得到了版本4。如何在同一台计算机上控制编译的DLL中的.NET运行时版本??命令“mcc”将生成目标计算机上支持的最新版本。您可以选择一个版本。 刚才我用我的计算机进行了一个测试,用户mcc将.Net 2.0的版本设置为complier
mcc -W 'dotnet:TestVersion,Version,2.0,private' -d 'C:\Users\HW-WIN7-TEMP\Documents\MATLAB\TestVersion\src' -T 'link:lib' -v 'class{Version:C:\Users\HW-WIN7-TEMP\Documents\MATLAB\GetVersion.m}'
我使用目标版本3.5来运行我的C#程序,得到同样的结果
ver=GetVersion()ver=
2.0.50727.5448
在同一台计算机上?命令“mcc”生成目标计算机上支持的最新版本。您可以选择一个版本。
刚才我用我的计算机进行了一个测试,用户mcc将.Net 2.0的版本设置为complier
mcc -W 'dotnet:TestVersion,Version,2.0,private' -d 'C:\Users\HW-WIN7-TEMP\Documents\MATLAB\TestVersion\src' -T 'link:lib' -v 'class{Version:C:\Users\HW-WIN7-TEMP\Documents\MATLAB\GetVersion.m}'
我使用目标版本3.5来运行我的C#程序,得到同样的结果
ver=GetVersion()ver=
2.0.50727.5448
我确实选择了.NET4作为目标。是的,它在同一台计算机上。谢谢你的回复。很抱歉,我的Matlab版本是R2009a,我不能再尝试了。我确实选择了。NET4作为目标。是的,它在同一台计算机上。谢谢你的回复。对不起,我的Matlab版本是R2009a,我不能再尝试了。