2013-02-28 90 views
2

我使用.NET 4.0中的3d方庫開發了C#.NET 4.0中的程序,現在我被要求定位一個只有.NET 1.1 API的3d方程序。我忽略了以前的一些討論,它是不可能的:如何從.NET 4.0(VS2010)項目中的.NET 1.1中定位API?

這很奇怪,我無法從.NET(4.0)中訪問以前的.NET。

文章:

講述:

「這裏是如何利用最新的IDE與.NET 1.1 應用程序一起工作。」

是否適用於VS2010(和VS2012)?

從.NET 4.0(VS2010)項目的.NET 1.1中定位API的可能性有多大?
進程間通信?

更新:
@HighCore,
這是一個程序(終端)提供接入西方貿易交易所需要的登錄名和密碼鍵獲取數據在互聯網上,提交訂單(購買,出售等)。
我的程序是在.NET 4.0中運行的bot,但終端基本上也總是從Windows/GUI手動使用
我無法直接訪問證券交易所或干涉提供程序和庫:)或者更確切:

UPDATE2:
我甚至不覺得.NET 1.1我的Windows XP SP3的機器上
Windows Update不可見得到它
我還記得上次我安裝了.NET。 1.1就可以了,我不得不重新安裝VS2005,VS2008,帶有Service Pack和所有依賴項的VS2010 ....

也就是說,我的感覺是有必要在以後的版本中安裝.NET 1.1?..

+2

什麼?什麼api?你可能可以做任何事情而不訴諸恐龍第三方。 – 2013-02-28 18:25:48

+1

爲什麼你需要改變你自己的框架版本? NET 4.0向後兼容1.1,因此您將能夠引用和使用該版本中編寫的第三方組件。 – ChrisBint 2013-02-28 18:27:07

+0

@ChrisBint但.NET 4.0程序集無法加載到.NET 1.1運行時。 – vcsjones 2013-02-28 18:28:17

回答

1

你不能直接。 1.1在1.0+ CLR上運行,並且不直接在VS2010 +中支持。如果可以的話,根據您提到的簡要要求,我將調查某種形式的架構/ API邊界,以在4個CLR代碼中劃分1.1 API。

我敢肯定,你不能將1.1 CLR和4.0 CLR加載到同一個進程中,所以這可能需要你有一些進程分離。

如果1.1級代碼需要使用您的代碼,那麼您需要重寫該CLR的一個版本,並且由於clr 2.0+上面1.1中的大量功能,這可能不是一項簡單的任務。同樣,您需要準確定義每方需要什麼並適當隔離它們。這不是VS2010 +開箱即用的事情。

1

你需要改變你的app.config文件:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 

啓動節點必須含有useLegacyV2RuntimeActivationPolicy="true"

+0

您是否嘗試過自己做?問題是我的Windows XP SP3上甚至沒有.NET 1.1,並且在最後一次嘗試安裝它之後,我不得不格式化我的硬盤 – 2013-02-28 19:07:09

+0

@ GennadyVanin - Novosibirsk是的,我之前嘗試過。它的工作,但它沒有樂趣,因爲應用程序開始變得非常緩慢。但是,無論如何,您將需要安裝在您的機器上的框架來使用該dll。 – pescolino 2013-02-28 19:15:56

+0

+1感謝您分享您的經驗 – 2013-03-01 03:23:17

相關問題