Latest and DNX


(marc hoffman) #21

I’d assume so. Our compiler can handle linking against any valid CLR .dlls.


(JohnMoshakis) #22

I was wondering if your opinion had changed ?

I was looking at 2017 and I see that .net core now uses csproj. I was hoping that would make it easier for you to support.

Cheers,
John


(marc hoffman) #23

Yeah, i’m working on .NET Core (and other “non-full” framework version) support as part of my work on EBuild for the Intrepid release (“Element 10”). The core building and reference resolving is already working, in Fire.


(marc hoffman) #24


(JohnMoshakis) #25

I’m so excited :slight_smile:

Will that be available in the next build ?


(marc hoffman) #26

Sortof. All of this will be based on EBuild, which will not officially ship until Intrepid. You can enable EBuild in Fire preferences, but a lot of things will not work when you do, as only a few tasks are implemented for ir yet (assembly resolving and core compile being two of them).


(JohnMoshakis) #27

Will you also provide templates for the next build ? Also do you plan to add nuget support to Fire as part of this ?


(marc hoffman) #28

Templates: for the next build? no. as i said, we’re ways away from supporting this officially. but i can write up a quick summary of steps to get you going when the next build is out.

As for NuGet, yes, EBuild-based builds have full support for NuGet, and Fire will get support for NuGet references as well (the current Fire build has support for 75% of the Gradle in the Add References dialog for Java projects (the browsing is there, but adding them won’t work yet). NuGet will use the exact same infrastructure, for Echoes projects; i’ll see if i will enable this for the next beta, when EBuild is turned on (but actual adding if references wont be implemented on time for next friday ;).

Again, always imagine having huge blinking letters saying “Here there be dragons” in fron of you, when using any of this stuff, for the next few months ;).

As a side note: have you gotten ASP.NET Core to work on Mac? i have what i believe is the latest .NET Core installed, it “dotnet new web” does not work for me, as the docs say it should. (MS’s site is VERY confusing on .NET Core versioning). So thats why i haven’t begun exploring ASP sup[port for .NET Core and Fire yet…


(marc hoffman) #29

Sample project attached.

Key steps:

  • use .2113 or later
  • check “Use EBuild” in Fire Preferences (restart Fire afterwards, or close/re-open your projects to get EBuild-based assembly resolving inside the IDE for the tree view and intelligence, as well. But the actual build will toggle live, with this setting).
  • if you are using the external compiler,. delete Elements.exe from your folder, as it confuses Mono’s resolving of 'Elements.dll` (RTL2) which EBuild uses

In your project (the sample i attach has this):

  • use <NuGetReference Include="Microsoft.NETCore.App" /> to reference .NET Core. You can use similar tags to reference other NuGet packages (as mentioned before, Add References dialog doesn’t do add yet, so you need to add em manually. Only NuGet packages already present locally in ~/.nuget/Packages are resolved for now, EBuild does not go out via HTTP yet).
  • Don’t have any regular <Reference>s to system dlls, e.g. System.dll or mscorlib.dll. (.dlls found via Elements’ XML registry, such as Elements.dll or Swift.dll, are fine)
  • Have <TargetFramework>.NETCoreApp,Version=1.0</TargetFramework> (or 1.1) as setting in your project (again, not exposed in the IDE yet, gotta add it manually).

Caveats:

  • enabling “use EBuild” does not do full builds yet. compiling a simple Echoes project will work, but MANY steps are still missing from EBuild, including processing of resources (for Echoes) or any post build stuff such as linking and app bundling (for Toffee and or Island). Did i mention this is not ready for production? :wink:

NetCoreApp.zip (104.3 KB)


(marc hoffman) #30

Finally, speaking one ASP.NET, check out this teaser: http://share.dwarfland.com/jJbB


(JohnMoshakis) #31

I’ve only done console apps on my mac.

Where do you see “dotnet new web” ?

I can follow along this

https://docs.microsoft.com/en-us/aspnet/core/tutorials/your-first-mac-aspnet

I have varying degrees of success with that. The Nancy one builds but doesnt run :frowning:


(marc hoffman) #32

(JohnMoshakis) #33

It does say on that page that you need rc4

https://github.com/dotnet/core/blob/master/release-notes/rc4-download.md

The documentation looks like its all over the place

Ive installed that and Im giving it a go


(marc hoffman) #34

i wish they’d get their versions straight. the one i have claims to be 1.1, which should be newer that 1.0 rc4, you’d think. but not in la la land, of course…


(JohnMoshakis) #35

You mean when you run dotnet it displays Version: 1.1.0 but then you run dotnet --version and its 1.0.0-rc4-004771 ?

I found that most confusing.


(marc hoffman) #36

yes. i used the one from the official page advertised as “latest”. turns out that’s “1.0.0 preview 2”, no matter whether you get 1.1 or 1.0. what a mind fuck. i’ll grab the rc4 one in the morning.


(JohnMoshakis) #37

I ran the latest and enabled EBuild. Fire crashed while loading the sample project from this thread. Now when I restart it crashes because its attempting to load that project.

log.txt (144.3 KB)

Attached is from console.

I see the project window open for a short while and it seems like its loading references.

It appears to be nuget issues because if I remove the NuGetReference line in the elements file it loads ok.

If I do show nuget references in add references I get this crash log

Fire_2017-03-03-222829_john-moshakiss-macbook-pro.crash.zip (21.2 KB)

Cheers,
John


(marc hoffman) #38

Hm, I don’t know whats going on here but none of these are my logs or stuff I do, afaict:

default	14:02:55.561842 -0500	Fire	switching to keychain-db: /Users/JohnMoshakis/Library/Keychains/login.keychain-db from /Users/JohnMoshakis/Library/Keychains/login.keychain (0 1 1 1)
default	14:02:55.561901 -0500	Fire	not switching: /Users/JohnMoshakis/Library/Keychains/Microsoft_Intermediate_Certificates-db from /Users/JohnMoshakis/Library/Keychains/Microsoft_Intermediate_Certificates (0 1 1 0)
default	14:02:55.561983 -0500	Fire	not switching as we're not in ~/Library/Keychains/: /Users/JohnMoshakis/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.F9107117265DB7542C1A806C8DB837742CE14C21.1/PrivateEncryptedDatak (0)
default	14:02:55.562032 -0500	Fire	not switching as we're not in ~/Library/Keychains/: /Users/JohnMoshakis/Library/Application Support/Adobe/AIR/ELS/com.adammcgrath.ReadAir.C2FD571D0FC2888161CD93D688BC9C815E69B426.1/PrivateEncryptedDatak (0)
default	14:02:55.562113 -0500	Fire	not switching as we're not in ~/Library/Keychains/: /Library/Keychains/System.keychain (0)
default	14:02:55.562416 -0500	Fire	not switching: /Users/JohnMoshakis/Library/Keychains/Microsoft_Intermediate_Certificates-db from /Users/JohnMoshakis/Library/Keychains/Microsoft_Intermediate_Certificates (0 1 1 0)
default	14:02:55.562456 -0500	Fire	skipping upgrade for locked keychain /Users/JohnMoshakis/Library/Keychains/Microsoft_Intermediate_Certificates
default	14:02:57.058703 -0500	Fire	0x608000666cc0 free /Users/JohnMoshakis/Library/Application Support/Adobe/AIR/ELS/TweetDeckFast.F9107117265DB7542C1A806C8DB837742CE14C21.1/PrivateEncryptedDatak buffer 0x7f88ee955c00

the second report looks like a Stack Overflow; I can’t say yet why but at least the call stack looks actionable so I can investigate. thanx!


(marc hoffman) #39

Reproduced then second.


(marc hoffman) #40

Compiler bug with inherited iterators, it seems :(. sorry about that.

The bad news is, this reproduxes/explains the Add Reference, but not the crash on load. did you get a proper .crashreport for that, too?

—marc