Dependency Injection framework for Windows 8 metro apps - dependency-injection

i can't seem to find a dependency injection framework for windows 8 metro apps.
Is there a framework for win8 metro apps?
Ninject is not yet support for win8 metro. So does anybody have a suggestion? (Castle, Spring, ...)

You could try Unity 3.0 for .NET4.5 Preview.

Here is the source for Ninject WinRT: https://github.com/remogloor/ninject
It just not yet released.

I've been using the Beta version of Autofac Portable Library (which is supported in Metro apps) and it is working great so far.

The Catel MVVM toolkit also contains a DI-container, it's metro version will be released this week (according to one of their developers): http://catel.codeplex.com

Related

using .NET Standard 2.1 with UWP

I made the big mistake of taking some NuGet library updates today. It forced me to either roll back a week's worth of work or upgrade to ASP .NET Core 3.0. I hate to use stuff that's not production, but I didn't want to untangle the libraries either, so I upgraded. Then it forces me to retarget .NET Standard 2.1 libraries. Which I did.
My problem now is with the client UWP code. When I try to compile, I get:
error : Project '..\ClassLibrary1\ClassLibrary1.csproj' targets 'netstandard2.1'. It cannot be referenced by a project that targets 'UAP, Version=v10.0.10586'.
This happens even with a virgin UWP and .NET Standard 2.1 library. Any clues on how to make Visual Studio 2019 client code work with the latest upgrade?
All Windows 10 SDKs currently don't support .NET Standard 2.1.
Windows 10 19H2 is using the same SDK number as 19H1, so it is unlikely that it will support .NET Standard 2.1. (But I certainly hope it does.)
Microsoft hasn't made an official announcement, but Windows 10 20H1 is getting a meaningful SDK update, so it is likely that it will support it. And once that's the case, UWP apps will require 20H1 to run (so that will become the minimum supported version).
One of the big issue with this situation is that Entity Framework Core 3.0 requires .NET Standard 2.1, so it can't be used in UWP apps for now (Update: This issue is resolved with Entity Framework Core 3.1 supporting .NET Standard 2.0).
By the way, as an experiment, I was able to fork Entity Framework Core 3.0 (for SQLite) and make it compile on .NET Standard 2.0. I basically had to manually copy a few new APIs from .NET Core 3.0 (like IAsyncXXX). And it worked, so it is an option for people who really need it. Note that, I did not try it with the SQL Server provider.
Update: The UWP team is planning to enable UWP apps to use .NET 5 and that's when UWP will support .NET Standard 2.1 (and more). This could happen in 20H2 or 21H1.
UWP does not support .Net standard 2.1 yet. It only support till .Net standard 2.0 and that too from windows 1709 onwards.
If you look at the link for 2.1 it states
Platform Support
An upcoming version Universal Windows Platform
so it may be 19H2
UPDATE
Microsoft is going to release a new framework called WinUI 3, this is going to support UWP as well as Win32 based application model. WinUI 3 would support .Net 5 for both the platforms. WinUI 3 preview is going to be available in mid May 2020, with final release in late 2020. WinUI 3 would be supported on windows 10 1803+.

aspnet core 1.0 full .net framework on Linux

I have a few simple questions:
a) can I use mono on linux and osx to load the full .net framework like I would on windows by adding net46 to my project.json?
b) can I use mono as an alias like net46?
c) can I use mono with aspnet core 1.0 rtm projects on linux?
I have been looking at the dotnet docs, specifically the standard library and the table and the table with the platform support confuses me with the arrows and star under mono.
thanks
can I use mono on linux and osx to load the full .net framework like I would on windows by adding net46 to my project.json?
In theory, yes, that's exactly what you do: specify some version of net inside frameworks in your project.json and dotnet run will then use mono to run your application.
In practice, basic Hello World application works, but I'm not sure how well will more complicated applications work.
If you want to run dotnet build on the same machine, you will also need reference assemblies. The version I tested (mono 4.2.1) only contained reference assemblies up to .Net 4.5.1, so net451 works, but net46 doesn't.
can I use mono as an alias like net46?
I don't think you can, at least not without forking .Net Core SDK.
I don't understand why would you want to do that, but I believe doing so would require modifying DefaultFrameworkMappings in NuGet.Client.
can I use mono with aspnet core 1.0 rtm projects on linux?
I wasn't able to make a basic ASP.NET Core application run under mono. I don't know what the problem is, or how hard would it be to fix it. EDIT: I managed to work around the issue I encountered.
Mono is other thing. Yeah they developed mono like .net framework but you cannot use .net 4.6 on mono.
Read the following article. Click here
Micrsoft developed .net core a new framework to run .net on windows, linux, mac osx etc.

MvvmCross iOS dependency for .Net 3.5?

I am trying to determine/understand if I need to reference the .Net 3.5 library in Xamarin for iOS projects.
Each time I open up a solution that contains a MonoTouch project for iOS I am prompted to include the .NET Framework 3.5. I would prefer not to intall this if possible. I can see that some of the Cirrious.MvvmCross dlls such as Cirrious.MvvmCross.Binding.Touch are dependent upon Runtime Version of v2.0.50727 - and I guess this is why it is probably prompting me. However, I can quite happily ignore the reference and it will work.
I would like to know what I can't do if I don't include the .Net 3.5 (2.n etc) so that I can safely ignore the dependency.
Secondly - if I can ignore this dependency - how do I go about this?
Thanks
Alan.

Wrapping up Asp.net Framework 4.0 in 3.5

I am working on an application in VS 2010 and using Asp.net framework 4.0 which i just migrated from Framework 3.5. The reason i had to migrate it to 4.0 is, i have a third party toolkit dll which is built in Framework 4.0, so in order to include it i had to change target framework of this project to 4.0. As, this project is being referred from other projects ans so on.., i end up converting whole application to framework 4.0. Every thing worked okay but as the application is using spring.net also, after successfully building the application, i found broken controls on almost all the pages. i am getting java script errors (about undefined control)for usercontrol PopupDatePickerControl we are using in the application. i downloaded and included latest version of Spring.net. i have no idea what is causing this problem. Please help if any one has experience working with this combination of framework 4.0 and spring.net? OR there is any way out to wrap up Framework 4.0 into 3.5. so i don't have to do this Migration.
Thanks!
Sounds like a shot in the dark on so many levels. It's probably not the combination of 4.0 and Spring.NET, unless you aren't referencing the correct Spring.NET dlls. Can you post parts of your IoC configuration and a rough outline of your app's architecture?
Also, what is the other third party toolkit you mentioned?

What's the deal with ASP.NET 3.5 Extensions Preview 2?

I'm trying to get the MVCToolkit working with an ASP.NET MVC Beta application and ran into an unresolved reference to System.Web.Extensions version 3.6 (ASP.NET MVC Beta comes with System.Web.Extensions version 3.5). All my google searches seem to point to a broken download link on Microsoft's site: ASP.NET 3.5 Extensions Preview 2
The toolkit is now in Microsoft.Web.Mvc, which is also called "Futures". If that's not confusing enough :) it's not revved with the platform.
Anyway - the toolkit is no longer the "toolkit" - it's part of the platform (for the most part) and if you have beta, you already have it. Just make sure that Micrsoft.Web.Mvc dll is in your bin.
I believe System.Web.Extensions v3.6 is part of .Net 3.5 Service Pack 1?

Resources