-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.NET Native support #623
Comments
@natemcmaster here is the.NET Native issue I promised I would assign to you 😄 |
Current status: a blank Windows Universal app with EF 7 referenced causes the app to crash during startup before the app can start. The same app runs just fine when not using the .NET Native toolchain. The help instructions provided in the dialog did not provide answers. |
@natemcmaster Remind me to show you where to get the latest Tools for Windows 10. You may encounter less red herrings than with the public previews. |
Status updated to blocked. Waiting for now on improvements to the .NET Native toolchain that will allow us to find the source of these crashes. |
I just tried this for fun on the latest bits and got:
|
I remember we were supposed to do something to explicitly enable the production of reflection metadata. Could it be that these exceptions are the consequence of not doing that? |
The information on how to do it is actually in the link in the exception. Did you try it? BTW, it would be a shame if we needed to include reflection information for the EF assemblies as opposed to just for the application assemblies. |
If we are doing reflection on EF types and user-code types, won't we need metadata for both? |
The latest Win10 (RTM) tooling allows for installing, compilation, and even launches the app just fine with EF7. At runtime, however, calling
|
The compiler crashes because of FYI (team), we can use |
Unless I am mistaken, it appears we will also need some of our dependencies to add .Net Native runtime directives to their projects. Libraries that need to add directives (there may be others)
*Note: current debugging tools for .NET Native don't make it clear which libraries are causing issues for .NET Native. The error messages I am currently encountering do not specify which metadata is missing. |
@natemcmaster Just figured out the Remotion.Linq feature request is related to EF. Should have known :) Say, do you have any best practices for doing automated (regression) testing for .NET Native rd.xml? I'm thinking about figuring out who to create a .NET Native application and stuffing integration test code in there, then invoking the application as a process from my regular resting framework and check if it runs successfully or fails. Haven't actually tried this yet, so I have no idea if I actually need a UWP application or if I can just manually call the .NET Native compiler/tooling on a run of the mill console application. Will need to read more on the documentation and stuff. |
@MichaelKetting we haven't had much success in fully automating UWP/netnative testing either (that is, with our CI server). But, it is easy to create a UWP Unit Test app in VS 2015 with Win10 tooling installed. I haven't looked to see if NUnit will run on UWP yet, but I had no trouble getting xUnit to execute. |
Ah, that's good to know about the test app. NUnit3 apparently will support UWP tests and luckily, the MSBuildExtensions will soon support NUnit3 so that's one hurdle less when it gets to automating stuff. Anyhow, I actually didn't realize that I could exercise unit tests for a .NET Native compiled library since it's mentioned in the docs that it all gets compiled into one big, happy UWP application. |
For now I have been doing manual testing of .NET Native. When we actually get it working, we may try to add this to automated testing. @MichaelKetting If you find a good away to automate .NET Native testing, please share! I haven't yet found a way to integrate this with our platform-testing on CI. |
@natemcmaster Sure thing! :) |
We should push to get this done for RC if possible since UWP apps can't be deployed without it. We get blocked on this often, so it may be out of our hands. |
@natemcmaster are we completely blocked on this, or are there things we can do on our side to make it work? |
@rowanmiller I am still not able to get EF and UWP to play nice. NuGet's latest updates also broke SQLite. Prior to the update, I was able to get parts of our framework running. Query and dependency injection have never worked. |
@natemcmaster just a heads-up: Haven't gotten around to .NET Native yet in re-linq (probably won't get to it before October, either) but we do accept PRs (after the Apache 2 CLA is signed :) ). If you want to discuss specifics, the https://www.re-motion.org/jira/browse/RMLNQ-92 issue's comment thread is probably best for this. |
See also #3019 |
Made modest improvements with #3478. @rowanmiller the UWP sample application in our docs now works in release mode. Remaining TODOs (which are not trivial):
|
Supporting running EF based applications in .NET native is important, especially for Windows Universal Apps in the short term. This was always part of the plan for EF7 and we have made specific choices to make this easier, e.g. avoiding taking dependencies on functionality that is not available when working in .NET Native, investigating how we could use Roslyn to optimize some aspects of the application using EF at compile time, etc. This is a general placeholder for all remaining work we may need to do to support .NET Native. We need to start with investigating what the gaps are and once we have made progress we can create new work items for individual tasks we identify.
The text was updated successfully, but these errors were encountered: