What's the deal with ASP.NET 3.5 Extensions Preview 2? - asp.net-mvc

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?

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+.

Do I have ASP.NET MVC 5?

I have installed Visual Studio 2013 and the about page includes an entry called "ASP.NET Web Frameworks and tools 2013" although there is nothing on there to specifically mention ASP.NET MVC 5 (In the add/remove programs control panel, the only version of ASP.NET listed is 2.0 but I presume that's a red herring).
When I create a new ASP.NET MVC application and look in the references, I see it's referring to System.Web.MVC version 4.0.30319 which I presume is ASP.NET MVC 4.0.
Is this the right way to check which version of ASP.NET MVC a project is actually using? If I am indeed using 4.0, how do I get access to 5.0?
edit - I was an idiot
Just realised that I had the properties panel sized so that the dll version wasn't being shown on the screen, and I was looking at the runtime version instead. As Anirudha pointed out, the DLL version for asp.net 5.0 is in fact 5.0.
If you run this in the command console, you will get the latest MVC package.
PM> Install-Package Microsoft.AspNet.Mvc
You can also look in the NuGet package manager, and look in the drop down for pre-releases.

Can I compile and run a MVC1.0 application under .NET 4.0?

We have an MVC1.0 application that is compiled against and runs with .Net Framework 3.5.
The application was scanned for security and the scanning organisation reported
Microsoft ASP.NET ValidateRequest Filters Bypass Cross-Site Scripting
Vulnerability
https://community.qualys.com/docs/DOC-3495
What versions of Microsoft ASP.NET are vulnerable? Microsoft has
confirmed that ASP.NET versions 1 and 2 are both vulnerable.
Additionally, Qualys has confirmed that ASP.NET version 3 is also
vulnerable, as it includes the vulnerable component from version 2 by
default. We have tested this in our Labs and confirmed the exploit
works on a fully patched version 3.
We are already upgrading our application to MVC3, but that takes some more time to finish.
Is there any chance I can run and compile a MVC1.0 application against .NET 4.0?
This may arise compatibility issues, Even though there are very few dependencies over the .net framework.
You can refer the following posts.
Is ASP.NET MVC 1 forwards compatible with ASP.NET MVC 2?
ASP.Net MVC 1.0 in Visual Studio 2010
From what I understand, anything that runs on .NET 3.5 should function and complile just fine in .NET 4.0, with perhaps some warnings about depreciated functions, but they will still work.
In case you are still curious/not comfortable, there are some tools available to help verify dependencies and other items such at NDepend
Best recommendation... try it! I can't think of any other reason than what Tommy mentioned about deprecated functions. Also, you can update most of your references with
Update-Package
without arguments.
If it compiles fine, do a quick test run over the views. If nothing seems broken, then it probably isn't.

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?

How to I convert a Silverlight 3.0 project to Silverlight 4.0?

I have a solution with several Silverlight Class Libraries and a Silverlight Application in it. I was originally built in VS 2008 with Silverlight 3.0. What changes do I need to make so that it builds using Silverlight 4.0? I already have VS 2010 and the Silverlight 4.0 toolkit installed.
When I opened the project it seems to have upgraded to .NET 4.0 in my ASP.NET Web Project but not the Silverlight projects. Pretty sure they are still building against .NET 3.5 and Silverlight 3.0.
Thanks.
Since VS2010 supports Silverlight mutlitargeting as well as .NET multitargeting, you have the option in each Silverlight Project Page to upgrade the target type from Silverlight 3 to Silverlight 4.

Resources