
Окружающая среда:
- Linux (в основном Ubuntu)
- Mono 3.12 .1
- DNX 1.0.0-beta4-11257 (у меня тоже есть 11249)
Код: Выделить всё
using Microsoft.AspNet.Builder;
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseWelcomePage();
}
}
Код: Выделить всё
{
"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 :0
Я нашел Microsoft.Framework.Runtime.IApplicationEnvironment в Microsoft. Источник сборки Framework.Runtime.Interfaces, и, похоже, в последнее время он не изменился. Непонятно, почему исключение отображает имя так, как будто это целая сборка, а не просто интерфейс внутри другой сборки. Я предполагаю, что это может быть связано с нейтральными к ассемблере интерфейсами, но из ошибки это не ясно. (
Код: Выделить всё
[AssemblyNeutral]
Подробнее здесь: https://stackoverflow.com/questions/290 ... res-in-dnx