Closed Scellow closed 6 years ago
Using minimal code:
csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.ILCompiler" Version="1.0.0-alpha-*" />
</ItemGroup>
<ItemGroup>
<Reference Include="Ultraviolet, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.dll</HintPath>
</Reference>
<Reference Include="Ultraviolet.BASS, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.BASS.dll</HintPath>
</Reference>
<Reference Include="Ultraviolet.Core, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.Core.dll</HintPath>
</Reference>
<Reference Include="Ultraviolet.Design, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.Design.dll</HintPath>
</Reference>
<Reference Include="Ultraviolet.OpenGL, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.OpenGL.dll</HintPath>
</Reference>
<Reference Include="Ultraviolet.OpenGL.Bindings, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.OpenGL.Bindings.dll</HintPath>
</Reference>
<Reference Include="Ultraviolet.SDL2, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.SDL2.dll</HintPath>
</Reference>
<Reference Include="Ultraviolet.Shims.NETCore, Version=2017.12.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\dep\uv_netcore\uv\Ultraviolet.Shims.NETCore.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
using Ultraviolet;
using Ultraviolet.OpenGL;
namespace Realm.Server
{
class Program
{
static void Main(string[] args)
{
using (var app = new App())
{
app.Run();
}
}
}
public class App : UltravioletApplication
{
public App() : base("Test", "Test")
{
}
protected override UltravioletContext OnCreatingUltravioletContext()
{
var config = new OpenGLUltravioletConfiguration();
PopulateConfiguration(config);
return new OpenGLUltravioletContext(this, config);
}
protected override void OnDrawing(UltravioletTime time)
{
base.OnDrawing(time);
Ultraviolet.GetGraphics().Clear(Color.Black);
}
}
}
C:\Users\Scellow\dev\rpgpvp\RPGPVP\Realm.Server>dotnet publish -r win-x64 -c debug
Microsoft (R) Build Engine version 15.5.180.51428 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restoring packages for C:\Users\Scellow\dev\rpgpvp\RPGPVP\Realm.Server\Realm.Server.csproj...
Restore completed in 411.88 ms for C:\Users\Scellow\dev\rpgpvp\RPGPVP\Realm.Server\Realm.Server.csproj.
Realm.Server -> C:\Users\Scellow\dev\rpgpvp\RPGPVP\Realm.Server\bin\debug\netcoreapp2.0\win-x64\Realm.Server.dll
Generating native code
EXEC : warning : Method `[Ultraviolet.SDL2]Ultraviolet.SDL2.SDL2UltravioletContext..ctor(IUltravioletHost,UltravioletConfiguration)` will always throw because: [TEMPORARY EXCEPTION MESSAGE] MissingMethod: IntPtr System.Runtime.InteropServices.Marshal.GetFunctio
nPointerForDelegate(!!0) [C:\Users\Scellow\dev\rpgpvp\RPGPVP\Realm.Server\Realm.Server.csproj]
Process is terminating due to StackOverflowException.
C:\Users\Scellow\.nuget\packages\microsoft.dotnet.ilcompiler\1.0.0-alpha-26223-01\build\Microsoft.NETCore.Native.targets(171,5): error MSB3073: The command ""C:\Users\Scellow\.nuget\packages\runtime.win-x64.microsoft.dotnet.ilcompiler\1.0.0-alpha-26223-01\tools
\ilc" @"obj\debug\netcoreapp2.0\win-x64\native\Realm.Server.ilc.rsp"" exited with code -1073741571. [C:\Users\Scellow\dev\rpgpvp\RPGPVP\Realm.Server\Realm.Server.csproj]
The StackOverflow exception should be fixed by #5440. The package with the fix should be available on myget in a few hours.
I was not able to reproduce the missing System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate
method exception, and I am not sure what can be causing it.
When I have run the binary, here are the issues that it hit:
[DllImport("kernel32", SetLastError = true, EntryPoint = "LoadLibraryW", CharSet = CharSet.Unicode)]
public static extern IntPtr LoadLibrary(String fileName);
AppDomain.BaseDirectory
instead:
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
Let us know if you are able to compile Ultraviolet games using CoreRT successfully! Thank for giving it a try.
The stackoverflow that this issue is about should be fixed now.
Thanks a lot :D
Hello
This is what i'm getting when i try to compile using this library: https://github.com/tlgkccampbell/ultraviolet
Here is the log (-v diag) 20mb!
log.txt