Я пытаюсь запустить модифицированную версию образец HelloWeb для ASP.NET vNext на DNX с использованием Kestrel. Я понимаю, что это очень сильно связано с кровотечением, но я надеюсь, что команда ASP.NET, по крайней мере, обеспечит работу с самым простым веб-приложением:)
Окружающая среда:
- Linux (Ubuntu, в значительной степени)
- Моно 3.12.1
- DNX 1.0.0-beta4-11257 (у меня также есть 11249)
"Веб-приложение", в Startup.cs
:
using Microsoft.AspNet.Builder;
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseWelcomePage();
}
}
Конфигурация проекта, в project.json
:
{
"dependencies": {
"Kestrel": "1.0.0-beta4",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta4",
"Microsoft.AspNet.Hosting": "1.0.0-beta4",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta4",
"Microsoft.Framework.Runtime": "1.0.0-beta4",
"Microsoft.Framework.Runtime.Common": "1.0.0-beta4",
"Microsoft.Framework.Runtime.Loader": "1.0.0-beta4",
"Microsoft.Framework.Runtime.Interfaces": "1.0.0-beta4",
},
"commands": {
"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004"
},
"frameworks": {
"dnx451": {}
}
}
kpm restore
работает нормально.
Microsoft.Framework.Runtime.IApplicationEnvironment
не может быть найден. Командная строка и ошибка (несколько переформатированная)
.../HelloWeb$ dnx . kestrel
System.IO.FileNotFoundException: Could not load file or assembly
'Microsoft.Framework.Runtime.IApplicationEnvironment,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
or one of its dependencies.
File name: 'Microsoft.Framework.Runtime.IApplicationEnvironment,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke
(System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke
(System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder,
System.Object[] parameters, System.Globalization.CultureInfo culture)
[0x00000] in <filename unknown>:0
Хотя, очевидно, моя самая насущная необходимость - это исправить это, я также ценю советы о том, как перевести диагноз, что происходит неправильно, поэтому я могу исправить подобные проблемы самостоятельно в будущем. (Это также может сделать этот вопрос более полезным для других.)
Я нашел Microsoft.Framework.Runtime.IApplicationEnvironment
в источнике сборки Microsoft.Framework.Runtime.Interfaces
, и это, похоже, недавно не изменилось. Непонятно, почему исключение показывает имя, как будто это целая сборка сама по себе, а не просто интерфейс внутри другой сборки. Я предполагаю, что это может быть связано с нейтральными интерфейсами сборки, но это неясно из-за ошибки. ([AssemblyNeutral]
мертв, так что не он...)