2012-10-15 10 views
5

संभव डुप्लिकेट:
MVC 4 Beta side by side installation errorMVC 3 बंद हो जाता है MVC4 स्थापना के बाद काम करना

मैं प्रगति में एक MVC3 आवेदन किया है। मैं एमवीसी 4 में एक और एप्लीकेशन शुरू करना चाहता हूं। लेकिन एमवीसी 3 एप्लिकेशन ने एमवीसी 4 इंस्टॉलेशन (बीटा नहीं) के बाद काम करना बंद कर दिया। कुछ डीएल विवादित त्रुटियां प्राप्त करना। त्रुटि में से एक इस तरह है।

The type 'System.Web.Helpers.Json' exists in both 'c:\Windows\Microsoft.NET\assembly\GAC_MSIL \System.Web.Helpers\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.Helpers.dll' and 'c:\Windows \Microsoft.NET\assembly\GAC_MSIL\System.Web.Helpers \v4.0_1.0.0.0__31bf3856ad364e35\System.Web.Helpers.dll' `at  System.Web.Compilation.AssemblyBuilder.Compile() 
    at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() 
    at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) 
    at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 
    at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 
    at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) 
    at System.Web.Compilation.BuildManager.GetObjectFactory(String virtualPath, Boolean throwIfNotFound) 
    at System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists(String virtualPath) 
    at System.Web.Mvc.BuildManagerViewEngine.FileExists(ControllerContext controllerContext, String virtualPath) 
    at System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext, List`1 locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations) 
    at System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext, String[] locations, String[] areaLocations, String locationsPropertyName, String name, String controllerName, String cacheKeyPrefix, Boolean useCache, String[]& searchedLocations) 
    at System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache) 
    at System.Web.Mvc.ViewEngineCollection.<>c__DisplayClassc.<FindView>b__b(IViewEngine e) 
    at System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup, Boolean trackSearchedPaths) 
    at System.Web.Mvc.ViewEngineCollection.Find(Func`2 cacheLocator, Func`2 locator) 
    at System.Web.Mvc.ViewEngineCollection.FindView(ControllerContext controllerContext, String viewName, String masterName) 
    at System.Web.Mvc.ViewResult.FindView(ControllerContext context) 
    at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) 
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) 
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) 
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) 
    at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)` 

इसके लिए क्या ठीक होगा?

+0

मैं इस का पालन करें? http://stackoverflow.com/questions/9471263/mvc-4-beta-side-by-side-installation-error – amesh

उत्तर

15

मैं समाधान here

पाया ASP.NET MVC 4 टूटता ASP.NET MVC 3 आरटीएम अनुप्रयोगों स्थापित कर रहा है। एएसपी.नेट एमवीसी 3 अनुप्रयोग जो आरटीएम रिलीज के साथ बनाए गए थे (एएसपी.नेट एमवीसी 3 टूल्स अपडेट रिलीज के साथ नहीं) को एएसपी.नेट एमवीसी के साथ-साथ काम करने के लिए निम्नलिखित परिवर्तनों की आवश्यकता होती है 4. बिना परियोजना के निर्माण इन अद्यतनों को संकलन त्रुटियों में परिणाम देता है। आवश्यक अपडेट

रूट Web.config फ़ाइल में, कुंजी वेबपृष्ठों के साथ एक नई प्रविष्टि जोड़ें: संस्करण और मान 1.0.0.0।

<appSettings> 
<add key="webpages:Version" value="1.0.0.0"/> 
<add key="ClientValidationEnabled" value="true"/> 
<add key="UnobtrusiveJavaScriptEnabled" value="true"/> 
</appSettings> 

समाधान Explorer में, इस परियोजना का नाम राइट क्लिक करें और फिर अनलोड परियोजना का चयन करें। फिर नाम पर राइट-क्लिक करें और ProjectName.csproj संपादित करें का चयन करें। जानें निम्नलिखित विधानसभा संदर्भ:

<Reference Include="System.Web.WebPages"/> 
<Reference Include="System.Web.Helpers" /> 

निम्नलिखित के साथ उन्हें बदलें:

<Reference Include="System.Web.WebPages, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/> 
<Reference Include="System.Web.Helpers, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" /> 

सहेजें परिवर्तन, परियोजना बंद (.csproj) फ़ाइल संपादित कर रहे थे, और उसके बाद परियोजना राइट क्लिक करें और पुनः लोड करें का चयन करें।

(आप मैन्युअल रूप से भी पाठ संपादक में MVC परियोजना फ़ाइल को संपादित कर सकते हैं। सही .csproj फ़ाइल और किसी भी पाठ संपादक के साथ खुला क्लिक करें और ध्यान से xml संपादित)

+0

धन्यवाद! मेरे मामले में मुझे बस .csprj में ** <संदर्भ शामिल = "System.Web.Helpers" /> ** पंक्ति को प्रतिस्थापित करना पड़ा, फिर पुन: संकलित करना और यह काम करता था! ... बहुत सराहना की। – MarioAraya