我有框架4 MVC 4項目,將引發System.AccessViolationException當您擴展使用HtmlHelper.ViewContext.Writer
如何分析System.AccessViolationException上未知模塊
下面的代碼的HtmlHelper編譯就好:
public static void Test(this System.Web.Mvc.HtmlHelper helper)
{
System.IO.TextWriter writer = helper.ViewContext.Writer;
writer.WriteLine("<b>Test Output</b>");
}
但是,當我在視圖中使用它會引發錯誤。現在我已經確認了導致問題的DLL,但我不知道要查找什麼,因爲錯誤消息沒有幫助,甚至沒有堆棧跟蹤。事情是這個項目是一個在VS2010上編寫的MVC3項目,現在我已更新到VS2013,並嘗試升級到MVC4,但問題已經開始,但奇怪的是,當我在VS2010上的其他MVC4項目上使用相同的DLL時, ,那麼它的工作,現在當我在Framework 4上做了一個乾淨的MVC4項目時,會發生這種情況。
我知道問題所在的DLL導致了問題,我確實有它的源代碼,但我不知道該找什麼。
我沒有測試其它擴展的方法和例如這工作得很好:
public static System.Web.Mvc.MvcHtmlString Test(this System.Web.Mvc.HtmlHelper helper)
{
return new System.Web.Mvc.MvcHtmlString("<b>Test Output</b>");
}
所以它做的HtmlHelper
的ViewContext
,但什麼東西?
最簡單的事情就是簡單地改變擴展方法,但對公司策略我不允許這樣做,所以我需要弄清楚這一點。
我最大的問題是,有問題的DLL並不是真的由我寫的,只有我的電腦有VS2013,所以任何方向都會有幫助,例如尋找什麼或類似的東西。
當您將解決方案升級到VS2013時,它是否將您項目的目標.NET平臺設置爲.NET 4.5?如果它是.NET 4.5,請參閱將其放到.NET 4.0是否解決此問題。 – ajawad987 2014-10-30 18:05:37
@ ajawad987我確實檢查過它是.NET 4.0 – Idra 2014-10-30 18:06:40