Pobrałem przykładowy kod dla webapi i otrzymuję ten wyjątek Otworzyłem tę próbkę za pomocą Visual Studio 2012 Ultimate Version i mam najnowszą wersję newtonsoft installed.I dostaję ten błąd, gdy uruchomię tę aplikację. Kompiluje się pomyślnie. Każdy pomysł, dlaczego ten błąd i czy istnieje sposób, aby rozwiązać ten wyjątek.Nie znaleziono metody "Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute (Boolean)
System.MissingMethodException was unhandled by user code
HResult=-2146233069
Message=Method not found: 'Void Newtonsoft.Json.Serialization.DefaultContractResolver.set_IgnoreSerializableAttribute(Boolean)'.
Source=System.Net.Http.Formatting
StackTrace:
at System.Net.Http.Formatting.JsonContractResolver..ctor(MediaTypeFormatter formatter)
at System.Net.Http.Formatting.JsonMediaTypeFormatter..ctor()
at System.Net.Http.Formatting.MediaTypeFormatterCollection.CreateDefaultFormatters()
at System.Net.Http.Formatting.MediaTypeFormatterCollection..ctor()
at System.Web.Http.HttpConfiguration.DefaultFormatters()
at System.Web.Http.HttpConfiguration..ctor(HttpRouteCollection routes)
at System.Web.Http.GlobalConfiguration.<.cctor>b__0()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at System.Web.Http.GlobalConfiguration.get_Configuration()
at System.Web.Http.RouteCollectionExtensions.MapHttpRoute(RouteCollection routes, String name, String routeTemplate, Object defaults, Object constraints, HttpMessageHandler handler)
at System.Web.Http.RouteCollectionExtensions.MapHttpRoute(RouteCollection routes, String name, String routeTemplate, Object defaults)
at WebAPIRc.RouteConfig.RegisterRoutes(RouteCollection routes) in c:\Users\viemon\Downloads\WebAPIRc\WebAPIRc\WebAPIRc\App_Start\RouteConfig.cs:line 17
at WebAPIRc.WebApiApplication.Application_Start() in c:\Users\viemon\Downloads\WebAPIRc\WebAPIRc\WebAPIRc\Global.asax.cs:line 36
InnerException:
Oto kod gdy nie
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//Exception error start
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//exception error end
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
poznałem, że muszę włączyć „Dołącz prerelease” dla Nuget from this post, ale jak mogę włączyć jak włączyć "Uwzględnij wstępne wydanie" dla NuGeta?
Czy możesz podać więcej szczegółów na ten temat? –
Hej, odzyskuję swój umysł, ale myślę, że miałem wersję w moim .NET4 Gac, którą można zidentyfikować tutaj http://stackoverflow.com/questions/6925043/where-is-gacutil-for-net-framework -4-0-in-windows-7 i musiałem go usunąć, aby środowisko wykonawcze mogło pobrać nowszą wersję: https://msdn.microsoft.com/en-us/library/zykhfde0(v=vs.110) .aspx Nie wiem, dlaczego ta wersja była oryginalnie w moim GAC. Nadzieja, która pomaga – PatrickWalker