我试图将依赖于vjs运行时的项目转换为vs2010,但是在尝试运行时它会出错.
它给出了"无法加载文件或程序集'vjslib'或其依赖项之一的错误.试图加载一个格式不正确的程序. "
我重新安装了vjs运行时,但它似乎没有帮助.
有没有办法让.net 4与它一起工作?
非常简单的解决方案 - 从.NET 4.0调用J#代码
您可以控制并加载它,然后提供显式路径.然后下次需要它时,它已经知道路径(或者它已经加载到AppDomain中).
您将需要使用LoadLibrary函数,因此请导入pinvoke参考:
[DllImport("kernel32", SetLastError = true)] static extern IntPtr LoadLibrary(string lpFileName);
on load(Console/WinForms中的Main函数或Global.asax Application_Start中的Main函数):
if (Environment.Version.Major >= 4) { string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"..\Microsoft.NET\Framework\v2.0.50727"); folder = Path.GetFullPath(folder); LoadLibrary(Path.Combine(folder, "vjsnativ.dll")); }
我从http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=4712下载了Microsoft Visual J#Version 2.0 Redistributable Package 并安装了它.问题已解决.