2016-01-14 39 views
0

我們在visual studio 2013中開發了2個不同的應用程序: 第一個用於C#.net mvc5的前端 第二個用於C# .net WebApi 2IIS本地,2個網站,2個應用程序池和「共享」dll問題

這兩個應用程序都使用newtonsoft.json nuget,但版本不同(6.0.8 for front和8.0.2 for web api)。

我們使用本地IIS進行測試和調試。 在IIS中,我們創建了2個網站和2個獨立的應用程序池。

如果我在前端編譯Web服務,一切都很好。 如果我在web服務之後編譯前端,那麼web服務會崩潰到6.0.8版本的newtonsoft.json! 爲什麼?

應用程序池共享一些DLL?

我在項目中找到了一些帶有「特定版本」選項的參考文章。在「特定版本」爲真的情況下,兩個版本可以並行運行。但我不想這樣做。

我也可以更新nuget在兩個項目中具有相同的版本,但它是一種解決方法,問題可能仍然存在與另一個DLL。

我需要理解爲什麼有2個應用程序池共享DLL(與différents版本)... 那麼你有一個想法:-)?

感謝 Whiletrue

+0

你有沒有從web api的任何參考MVC或反之亦然?這很可能是問題的原因。 –

+0

我有一些個人類庫參考MVC和WebApi,但不是從web api到MVC或反之亦然 – Whiletrue

+0

這個類庫是否依賴於牛頓軟件 –

回答

0

從您的評論關注 - 現在的原因很簡單。你的webapi和mvc項目都依賴於依賴於newtonsoft特定版本的classlib。所以當你建立任何webapi或mvc項目時,classlib的依賴關係也會被添加到webapi或mvc項目中。您可以以某種方式打破依賴關係,或者明確指定Web config +項目文件中的版本,並在Bin文件夾中包含兩個版本。

相關問題