Si encuentra algún problema, abra un problema y proporcione la mayor cantidad de información posible para ayudarnos a identificar su problema. Alternativamente, no dude en enviar una solicitud de extracción si cree que puede ayudar a resolver el problema. Si necesita una mano que lo guíe, sobre cómo comenzar con las solicitudes de extracción, eche un vistazo a nuestras pautas de contribución . Asegúrate de no perderte las pautas de estilo , yo no lo haré :D
NOTA: Debido a que Nancy 2.0-clinteastwood es una versión preliminar, tendrá que instalar los paquetes usando el conmutador
-pre
, es decir,install-package Nancy -pre
Utilice este problema para publicar comentarios que no estén directamente relacionados con ningún error específico informado o solicitud de extracción.
La siguiente es una lista de tareas identificadas que deben realizarse a raíz del lanzamiento de 2.0.0-clinteastwood
y deben completarse antes de que se publique 2.0.0-dangermouse
. Edite la lista TODO y agregue elementos a medida que se encuentran, agregue enlaces a solicitudes de extracción que se envían para cerrarlos
AsyncUsageAnalyzers
se establezca en una dependencia de compilación en todos los project.json
y packages.config
Ejemplo correcto para reflejar aquí - (solicitud de extracción #2700 @jchannon*.nuspec
antiguos en todos los proyectos (incluida Nancy) (solicitud de extracción n.º 2658 @jchannon)Nancy.Hosting.Aspnet\project.json
para incluir web.config.transform
en el paquete (solicitud de extracción n.° 2661 @thecodejunkie)Nancy.ViewEngines.Razor\project.json
para incluir app/web.config.transform
en el paquete (solicitud de extracción n.° 2661 @thecodejunkie)Nancy.ViewEngines.Razor\project.json
para incluir Nancy.ViewEngines.Razor.BuildProvider
(incluidos los objetivos de compilación) en el paqueteRequest.Cookies
y Request.Headers.Cookie
ver #2628 para discusionesAsyncUsageAnalyzers
como dependencia. Debería ser seguro eliminarlo y no se incluirá en 2.0.0-dangermouse
, ya que se marcará como una dependencia de compilación en todos los proyectos.Nancy.Hosting.Aspnet
no aplicará las transformaciones *.config
`, para conectar el hosting, tendrás que aplicarlo tú mismoNancy.ViewEngines.Razor
no aplicará las transformaciones de *.config
` para conectar las opciones de configuración de los motores de vista, tendrá que aplicarlo usted mismoNancy.ViewEngines.Razor
en el paquete NuGet, lo que provoca problemas con el resaltado de sintaxis en las vistas de Nancy RazorEsto compila, pero lanza un tiempo de ejecución NullReferenceException
:
pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
// do stuff
// Func<NancyContext, Response>, Func<NancyContext, CancellationToken, Response>
return null;
});
Esto funciona:
pipelines.BeforeRequest.AddItemToStartOfPipeline((ctx, _) =>
{
//do stuff
// Func<NancyContext, CancellationToken, Task<Response>>
return Task<Response>.FromResult((Response)null);
});
Me tomó un poco golpearme la cabeza contra la pared hasta que me di cuenta de que no era ni súper tonto ni feliz.
@danbarua gracias. Abrí https://github.com/NancyFx/Nancy/issues/2665 porque quiero revisar la canalización tan pronto como hayamos tenido tiempo de ver el programa previo (que sucederá tan pronto como Nos movimos al nuevo formato csproj y eso está sucediendo ahora en #2720)
¡AFEITADO DE YAK! 😄
Este código arroja una excepción, ¿es este error?
```C#
BaseModule de clase pública: NancyModule
{
public BaseModule(cadena url) : base(url)
{
//Lógica personalizada
}
}
clase pública A: BaseModule
{
público A() : base("urlA")
{
}
}
clase pública B: NancyModule
{
público B ()
{
}
}
Ocurrió System.InvalidOperationException
HResult=0x80131509
Message=Algo salió mal al intentar satisfacer una de las dependencias durante la composición, asegúrese de haber registrado todas las dependencias nuevas en el contenedor e inspeccione la excepción interna para obtener más detalles.
Fuente=
Rastreo de pila:
en Nancy.Bootstrapper.NancyBootstrapperBase 1.SafeGetNancyEngineInstance()
at Nancy.Bootstrapper.NancyBootstrapperBase
1.GetEngine()
en Nancy.Owin.NancyMiddleware.UseNancy(opciones de NancyOptions)
en Nancy.Owin.DelegateExtensions.UseNancy(Acción 1 builder, NancyOptions options)
at PiggyBank.Site.Startup.<>c.<Configure>b__2_0(Action
1 x) en E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:línea 31
en Microsoft.AspNetCore.Builder.OwinExtensions.UseOwin (constructor IApplicationBuilder, canalización Action`1)
en PiggyBank.Site.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) en E:visual_studiopiggy-banksourcePiggyBank.SiteStartup.cs:line 31
Excepción interna 1:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.NancyEngine
Excepción interna 2:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.Routing.DefaultRequestDispatcher
Excepción interna 3:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.Routing.DefaultRouteResolver
Excepción interna 4:
TinyIoCResolutionException: no se puede resolver el tipo: Nancy.Routing.RouteCache
Excepción interna 5:
TinyIoCResolutionException: no se puede resolver el tipo: BaseModule
Excepción interna 6:
TinyIoCResolutionException: no se puede resolver el tipo: System.String
Excepción interna 7:
TinyIoCResolutionException: no se puede resolver el tipo: System.Char[]
Excepción interna 8:
ArgumentNullException: el valor no puede ser nulo.
```
Es porque el módulo base no tiene un constructor que el contenedor IoC pueda satisfacer. No sabe cómo manejar string
. Si no se supone que BaseModule
se llame solo, le sugiero que lo haga abstract
...
Viejo:
Get["post/{id}"] = Get["old/post/{id}"] = p =>{};
Nuevo (2.0):
?
Get("publicación/{id}", MiMétodo);
Get("antiguo/post/{id}", MiMetodo);
Get("publicación/{id}", MiMétodo);
Get("antiguo/post/{id}", MiMetodo);
Ese uso agrega cierta indirección. A mí personalmente no me gusta eso. Sin embargo, no es un problema.
¿Tal vez es posible tener algunas sobrecargas de métodos para una expresión fluida? ejemplo:
Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}", p => { return HttpStatusCode.Ok });
Una expresión alternativa
Get("post/{id}")
.Get("old/post/{id}")
.Post("whatever/{id}")
.Do(p => { return HttpStatusCode.Ok });
Puedo intentar relaciones públicas si es deseable
Comentario más útil
Es porque el módulo base no tiene un constructor que el contenedor IoC pueda satisfacer. No sabe cómo manejar
string
. Si no se supone queBaseModule
se llame solo, le sugiero que lo hagaabstract
...