2016-07-28 38 views
1

我將代碼部署到ST服務器時出現以下錯誤。在我的機器和開發服務器上,相同的代碼工作正常,但當我們嘗試訪問應用程序中的某個頁面時,通過ST服務器上的此錯誤。無法在服務器上加載文件或程序集錯誤

的錯誤是:

無法加載文件或程序集 'Microsoft.Owin,版本= 2.1.0.0,文化=中性公鑰= 31bf3856ad364e35' 或它的一個依賴。定位的程序集清單定義與程序集引用不匹配。 (來自HRESULT的異常:0x80131040) 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.IO.FileLoadException:無法加載文件或程序集「Microsoft.Owin,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35」或其某個依賴項。定位的程序集清單定義與程序集引用不匹配。 (異常來自HRESULT:0x80131040)

下面是我在web.config中

<dependentAssembly> 
     <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 

回答

0

由於它工作在本地機器上細有幾個可能的情況下, 首先檢查一下Microsoft.Owin引用,因爲在生產環境中缺少這種情況。 https://www.nuget.org/packages/Microsoft.Owin/2.1.0 您可以在「依存關係」部分檢查,確保Owin庫是否存在和參考

然後檢查GAC兩個開發和ST機(它可以在dev的正常工作,如果你有需要裝配的版本在GAC上開發,但沒有對ST)

重定向,請確保您有正確的XML命名空間

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="myAssembly" 
           publicKeyToken="32ab4ba45e0a69a1" 
           culture="neutral" /> 
      <bindingRedirect oldVersion="1.0.0.0" 
          newVersion="2.0.0.0"/> 
     </dependentAssembly> 
</assemblyBinding> 

一個包裝的相關元素

如果在此之後仍未找到原因,則可嘗試使用Visual Studio附帶的工具 fuslogvw.exe來獲取有關綁定失敗的更多信息。

0

我沒有更新web.config添加SignalR後服務器上的文件。這裏是丟失:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
3

得到固定web.confg文件中添加以下引用

  1. Microsoft.Owin
  2. Microsoft.Owin.Security.OAuth
  3. 微軟.Owin.Security
  4. Microsoft.Owin.Security。餅乾

相關問題