2013-02-07 36 views
2

我試圖把IIS(Windows Server 2012 x64)項目,有一個ASP.NET Web應用程序x64與C++中的一個項目即32位和64位。我試圖替換C++項目DLL的32位和64位。此外,我嘗試了很多配置:在Visual Studio中打開和關閉「首選32位」,將AnyCPU(對於所有項目)更改爲64位,在IIS中打開和關閉「啓用32位應用程序」。問題是IIS沒有看到C++項目DLL(應該看到它在同一個文件夾中),或者由於格式不正確而無法加載。我想用最終的32位C++項目在64位運行整個解決方案,因此將所有內容都改爲32位並不是正確的解決方案。有沒有辦法把所有東西放在IIS上來運行應用程序?64位解決方案ASP.NET與C#和一個項目32位C++

回答

1

您必須將平臺對齊到相同的bitness。也就是說,你要麼:

  1. 編譯無論是Web應用程序和C++引用的項目爲32位,並設置使32位應用True的IIS應用程序池。
  2. 將Web應用程序和C++引用的項目編譯爲64位,並設置爲IIS應用程序池啓用32位應用程序False

如果C++項目對沒有64位版本的32位DLL有一些其他依賴關係,那將是一個問題。在這種情況下,你別無選擇,只能將所有內容都對齊到32位。

+1

是的,那是一回事,而另一個則放置了「Release」版本的應用程序。調試版本正在尋找Visual C++ Redistributables DLL的調試版本。 – pbies

+0

還需要(32-/64-位)版本的Redistributables。 – pbies

+0

再一次:需要在C++項目中刪除編譯器或鏈接器指令WIN32。 – pbies