c# - mac - ¿Por qué ASP.NET vNext ''dnu build'' no funciona en OSX?
ejecutar.net en mac (3)
El problema parece ser que el problema está apuntando a una versión de mono que no parece funcionar bien con la última versión de aspnet / dnx. Aquí hay una manera de hacer que apunte a una versión viable.
- nano /usr/local/Library/Formula/mono.rb
cambió las líneas 4 y 5 a
url " http://download.mono-project.com/sources/mono/mono-4.0.1.44.tar.bz2 " sha256 "eaf5bd9d19818cb89483b3c9cae2ee3569643fd621560da036f6a49f6b3e3a6f"
brew upgrade mono
Debería poder ejecutar correctamente dnu build en el proyecto
- fuente dnvm.sh
- cd projectdir
- Dnu restaurar
- Dnu construir
- exportar MONO_MANAGED_WATCHER = falso (para el bug mono, vea el enlace a continuación)
- dnx cernícalo
- abrir http: // localhost: 5001
sobre mono bug - Ejecutando la primera aplicación ASP.NET 5 usando VSCode, DNX y los resultados de Kestrel en IOException
Si tienes problemas con el brebaje, usa brew doctor.
Gracias a salerth github.com/aspnet/Home/issues/498
Instale DNVM y DNX en OSX como se indica en https://github.com/aspnet/Home .
Utilicé generator-aspnet para crear una aplicación de consola con un archivo fuente, Program.cs:
using System;
namespace HelloWorldConsole
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.ReadLine();
}
}
}
y un package.json:
{
"version": "1.0.0-*",
"dependencies": {},
"commands": {
"run": "run"
},
"frameworks": {
"dnx451": {},
"dnxcore50": {
"dependencies": {
"System.Console": "4.0.0-beta-*"
}
}
}
}
Cuando lo ejecuto usando dnu . run
dnu . run
, funciona como se esperaba e imprime "¡Hola mundo!".
Sin embargo, cuando intento generar ensamblados a partir de él ejecutando dnu build
, obtengo el siguiente error:
System.IO.EndOfStreamException: Error al leer el final de la secuencia.
en System.IO.BinaryReader.ReadChar () [0x00000] en: 0 en Microsoft.CodeAnalysis.CvtResFile.ReadStringOrID (System.IO.BinaryReader fhIn) [0x00000] en: 0 en Microsoft.CodeAnalysis.CvtResFile.ReadReal .Stream stream) [0x00000] in: 0 en Microsoft.CodeAnalysis.Compilation.MakeWin32ResourceList (System.IO.Stream win32Resources, Microsoft.CodeAnalysis.Diagnosticp.p.P.P.P.C.P.). Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder moduleBeingBuilt, System.IO.Stream win32Resources, Microsoft.CodeAnalysis.DiagnosticBag diagnostica. Por favor. , System.IO.Stream win32Resources, System.IO.Stream xmlDocStream, Boolean generaDebugInfo, Microsoft.CodeAnalysis.DiagnosticBag diagnostics, System.Predicate1 filterOpt, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 at Microsoft.CodeAnalysis.Compilation.Compile (Microsoft.CodeAnalysis.Emit.CommonPEModuleBuilder moduleBuilder, System.IO.Stream win32Resources, System.IO.Stream xmlDocStream, Boolean generateDebugInfo, Microsoft.CodeAnalysis.DiagnosticBag diagnostics, System.Predicate
1 filterOpt, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 at Microsoft.CodeAnalysis.Compilation.Compile (Microsoft.CodeAnalysis.Emit.CommonPEModuleBuilder moduleBuilder, System.IO.Stream win32Resources, System.IO.Stream xmlDocStream, Boolean generateDebugInfo, Microsoft.CodeAnalysis.DiagnosticBag diagnostics, System.Predicate
1 filterOpt, CancelaciónToken cancelaciónToken) [0x00000] en: 0 en Microsoft.CodeAnalysis.1 manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, Microsoft.CodeAnalysis.CodeGen.CompilationTestData testData, System.Func
1 getHostDiagnostics, CancelaciónToken cancelaciónToken) 0 0 0000000] en 0 peStream, System.IO.Stream pdbStream, System.IO. Transmitir xmlDocumentationStream, System.IO.Stream win32Resources, IEnumerable1 manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, Microsoft.CodeAnalysis.CodeGen.CompilationTestData testData, System.Func
Microsoft.CodeAnalysis.CodeGen.CompilationTest. CodeAnalysis.Compilation.Emit (System.IO.Stream peStream, System.IO.Stream pdbStream, System.IO.Stream xmlDocumentationStream, System.IO.Stream win32Resources, IEnumerable1 manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 at Microsoft.Framework.Runtime.Roslyn.RoslynProjectReference.EmitAssembly (System.String outputPath) [0x00000] in <filename unknown>:0 at Microsoft.Framework.PackageManager.ProjectBuilder.Build (System.String name, System.String outputPath) [0x00000] in <filename unknown>:0
at Microsoft.Framework.PackageManager.BuildContext.Build (System.Collections.Generic.List1 manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 at Microsoft.Framework.Runtime.Roslyn.RoslynProjectReference.EmitAssembly (System.String outputPath) [0x00000] in <filename unknown>:0 at Microsoft.Framework.PackageManager.ProjectBuilder.Build (System.String name, System.String outputPath) [0x00000] in <filename unknown>:0
at Microsoft.Framework.PackageManager.BuildContext.Build (System.Collections.Generic.List1 manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0 at Microsoft.Framework.Runtime.Roslyn.RoslynProjectReference.EmitAssembly (System.String outputPath) [0x00000] in <filename unknown>:0 at Microsoft.Framework.PackageManager.ProjectBuilder.Build (System.String name, System.String outputPath) [0x00000] in <filename unknown>:0
1 diagnostics) [0x00000] en: 0 en Microsoft.Framework.PackageManager.BuildManager.Build () [0x00000] en 0 en Microsoft.Framework. PackageManager.Program + <> c__DisplayClass3_4.b__8 () [0x00000] en: 0 en Microsoft.Framework.Runtime.Common.CommandLine.CommandLineApplication.Execute (System.String [] args) [0x00000] in: 0 at Microsoft.FramramPack .Program.Main (System.String [] args) [0x00000] in: 0 en (wrapper managed-to-native) System.Reflection.MonoMethod: InternalInvoke (System.Reflection.MonoMethod, object, object [], System.Exception & ) en System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object [] parámetros, System.Globalization.CultureInfo culture) [0x00000] in: 0
at Microsoft.Framework.PackageManager.BuildContext.Build (System.Collections.Generic.List
Cualquier idea por qué dnx. ejecutar obras pero dnu construir no? Las bibliotecas centrales parecen estar referenciadas y cargadas, por lo tanto, la ejecución funciona. ¿Qué falta con el comando dnu build?
Es un error conocido de Mono: https://bugzilla.xamarin.com/show_bug.cgi?id=29499
La discusión está aquí: github.com/aspnet/Home/issues/498
Lo que hice es esto:
- clonar el repositorio mono, compilarlo e instalarlo siguiendo las instrucciones aquí http://www.mono-project.com/docs/compiling-mono/ (asegúrese de seguir las instrucciones para compilar desde la fuente de git)
- brew tap aspnet / dnx
- mejora de cerveza
- brew install dnvm --without-mono
Después de hacer esto pude ejecutar dnu build con éxito.