[英]What causing WebMatrix.Data.dll and WebMatrix.WebData.dll to be added to my bin directory
我有一個我一直在開發的 MVC ASP.Net 應用程序。 當我嘗試加載被轉移到login.aspx?ReturnUrl=ENCODED_REQUESTED_PATH_HERE
的頁面時,它只有大約一半的時間工作正常。 在互聯網上進行了一些搜索后,這非常令人沮喪,我發現這是由
WebMatrix.Data.dll
WebMatrix.WebData.dll
當我刪除這些時,問題確實消失了,在我的 IISExpress applicationhost.config 中注釋掉這兩行之后
<!--<add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" />-->
<!--<add name="WebMatrixSupportModule" lockItem="true" />-->
這些文件離開了一段時間,但現在它們又回來了,並再次引起了問題。
是什么把它們放在那里,項目中沒有提到它們。
它們是由 ASP.NET MVC 4 項目模板附帶的 NuGet 包添加的。
您可以在 Microsoft ASP.NET Web Pages 2 Data Nuget 包的用途是什么?
這些程序集提供與您的身份驗證沖突的簡單成員身份提供程序。 您是否使用表單身份驗證並正確實施了授權屬性? 如果您的控制器正確標記了授權屬性,那么您將不會有任何問題。 這些 dll 的存在不是問題。 您的控制器未獲得財產授權。
對於突然開始在他們的 bin 中獲取 WebMatrix dll (WebMatrix.Data.dll / WebMatrix.WebData.dll) 的任何人:我刪除它們的解決方案如下:
這導致以下 [dependentAssembly] 被添加到 Web.config [configuration] -> [runtime] -> [assemblyBinding]
<dependentAssembly>
<assemblyIdentity name="WebMatrix.WebData" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
出於某種原因,盡管標記為“依賴程序集”,但它會做相反的事情並阻止 WebMatrix dll 出現。
我個人需要擺脫 WebMatrix dll 的原因是,當部署到服務器時,它會要求 Razor ver.2,當我包含 Razor ver.3 並在積極使用時,拋出異常並破壞整個網站。 只是,簡單地,從服務器的 bin 文件夾中刪除 WebMatrix dll 可以緩解網站的這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.