Dot-Net-4.0

視覺 j# 在 .net 4 中不起作用

  • May 17, 2017

我試圖將一個依賴vjs執行時的項目轉換為vs2010,但在嘗試執行時出錯。

它給出的錯誤是**“無法載入文件或程序集’vjslib’或其依賴項之一。試圖載入格式不正確的程序。** ”

我重新安裝了 vjs 執行時,但它似乎沒有幫助。

有什麼方法可以讓 .net 4 使用它嗎?

非常簡單的解決方案 -從 .NET 4.0 呼叫 J# 程式碼

您首先控制並載入它以提供顯式路徑。然後下次需要它時,它已經知道路徑(或者它已經載入到 AppDomain 中)。

您將需要使用 LoadLibrary 函式,因此請導入 pinvoke 參考:

[DllImport("kernel32", SetLastError = true)]
static extern IntPtr LoadLibrary(string lpFileName);

載入時(控制台/WinForms 或 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"));
}

引用自:https://stackoverflow.com/questions/2632005