sharepoint with .Net 4.0 - asp.net

We had an ASP.NET site that was built on .NET 2.0. It had sharepoint integration and everything was working fine until the site got migrated to .NET 4.0. I know that sharepoint is built on 3.5 framework and hence it is failing now. Are there any workarounds or any latest developments to make sharepoint work on ASP.NET 4.0 site?

Me and my string.IsNullOrWhitespace / named parameter loving self wishes this was possible, but it most assuredly is not yet possible. The closest you can get is if you were to utilize SOA and (obviously) your services could be written in .NET 4.0 (or any language for that matter), but your web parts, workflows, feature receivers, modules, etc are stuck in legacy 3.5.
Additionally, the "next" edition of SharePoint (SharePoint Online) which is part of Office 365 is just SharePoint 2010 with cloud compatibility... and still no .NET 4.0.

Related

Migrate VS2010 to VS2013 - what would be the major changes we would be facing?

I have one web application in C# which is developed using Visual Studio 2010 and I want to convert or Migrate that web application in Visual Studio 2013 (C#).
Note:- Below listed things I used in my current Web Application using VS2010 (C#)
Asp.Net Server Controls.
ClassLibrary (.dll).
Web services.
Above Listed things I used in my current Web application which is in VS2010.
Now, My Question Is- What would be the major changes I would be facing if I am using all above listed Microsoft Technologies using C# and Migrate it to VS2013.
The biggest change for us was that Visual Studio Setup Project was depreciated in VS 2012, so we had to build new installers.
http://blogs.msdn.com/b/visualstudio/archive/2013/08/15/what-s-new-in-visual-studio-2013-and-installshield-limited-edition.aspx
Also, which version of .NET is you application? Keep in mind framework targeting for Visual Studios (basically if your application is .NET 3.5 SP 1 or newer you should be fine):
https://msdn.microsoft.com/en-us/vstudio/dn250998.aspx
The Web Services should also be okay, if you intend to keep creating web services instead of switching to WCF, you may want to look at this:
Create a asmx web service in C# using visual studio 2013
The thing we first noticed is VS2013 uses IIS Express 8.0, at the time our production web server was IIS 6 - we encountered, on numerous occasions a web.config setting working fine locally but forgot to add the IIS 6 equivalent.
For our web apps we kept targeting the same .Net framework and I can't recall any issues. For your reference our stack was Asp.Net MVC 4, EF 5 WebApi plus numerous NuGet packages. So we didn't have any asp.net server controls.
You may also want to ensure all your VS2010 plugins have a 2013 equivalent.
You shouldn't have any problem at all with the types of proyects you are using.
You could even open the solution with VS2013 and then open it back with VS2010 SP1 without any problem (as long as you don't switch the .NET framework to 4.5).
Starting from VS2012, Microsoft made changes to allow developers open a solution with older versions of VS (VS2010 SP1 being the oldest version that supports this). There ARE some proyect types that won't be compatible, but from the things you listed, you won't have any problems.
When you open the Solution with newest VS, it WILL make some changes, but you still will be able to open it with VS2010 SP1 (again, with some exceptions).
https://msdn.microsoft.com/en-us/library/hh266747.aspx
http://blogs.msdn.com/b/webdev/archive/2012/08/22/visual-studio-project-compatability-and-visualstudioversion.aspx
Anyway, my suggestion is, install VS2013 in a test machine and try it out. You can even create an Azure VM with VS2013 PreInstalled in minutes to try it out.
There is already available VS2015 preview, why not wait until it is released? (or use the preview)
https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx
as other said, it should not brake much

What is ASP.NET vNext?

Can anybody tell me what is ASP.NET vNext?
Every new version on .Net is something like .NET 1.0, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0 then why this version is not something like ASP.NET 6.0?
vNext is just the name given to product in the pre-release mode, like c# vNext which will apparently be released as C# 6.0, maybe ASP.NET vNext will have a numbering when it releases.
What is ASP.NET vNext?
Microsoft ASP.NET vNext is a smaller and efficient framework as a result of rebuilding the libraries from ground up.
What's new in vNext
Cloud-optimized versions of MVC, Web API, Web Pages, SignalR, and Entity Framework.
MVC, Web API, and Web Pages will be merged into one framework, called MVC 6.
MVC 6 has no dependency on System.Web. The result is a leaner framework, with faster startup time and lower memory consumption.
vNext is host agnostic. You can host your app in IIS, or self-host in a custom process.
Dependency injection is built into the framework. Use your preferred IoC container to register dependencies.
vNext uses the Roslyn compiler to compile code dynamically. You will be able to edit a code file, refresh the browser, and see the changes without rebuilding the project.
vNext is open source and cross platform.
More information:
Overview on asp.net
Getting started with ASP.NET vNext
Blogpost by Scott Hanselman
Blogpost by David Fowler
Contributing to ASP.NET vNext
Sample ASP.NET vNext applications
ASP.NET vNext is the next version of ASP.NET, but it hasn't shipped yet, so it is not an official version. "vNext" is just a working title.
ASP.NET vNext was the code-name for the next generation of ASP.NET, whose official name is ASP.NET 5. As of now ASP.NET 5 is not yet finished and documentation about can be found at http://asp.net/vnext.
ASP.NET 5 is not just an evolution of the previous version(s), it is rebuilt from the ground. Existing ASP.NET applications will run on ASP.NET 5 without modifications, but to take advantage of the new features, such applications will have to be ported to the new version.
Here's a little excerpt of what http://asp.net has to say about ASP.NET 5:
ASP.NET 5 is a lean .NET stack for building modern web apps. We built it from the ground up to provide an optimized development framework for apps that are either deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions.
ASP.NET 5 includes the following features:
New flexible and cross-platform runtime
New modular HTTP request pipeline
Cloud-ready environment configuration
Unified programming model that combines MVC, Web API, and Web Pages
Ability to see changes without re-building the project
Side-by-side versioning of the .NET Framework
Ability to self-host or host on IIS
New tools in Visual Studio 2015
Open source in GitHub
The changes we made for ASP.NET 5 were based on customer requests and feedback. These changes simplify development, hosting, and maintenance, and are targeted to modern web apps.
Your legacy apps will run on the new version of the ASP.NET without any modifications. However, to take advantage of the new features in ASP.NET 5, you will need to port your existing code to the new framework. You will find many similarities between ASP.NET 5 and earlier versions of ASP.NET, so porting code involves fixing particular issues rather than re-writing the app.

Referencing 3.5 and 4.0 Assemblies from ASP.Net 2.0 Website

I am making a small enhancement to an old ASP.Net 2.0 Website (not web application--not sure if that matters). I have referenced a set of assemblies that target 3.5 and 4.0.
I was surprised to find that everything seems to work. I can successfully make calls to the methods within the assemblies and all is well.
What I'm concerned about is that there will be some run time problem down the road, or after deployment. Am I fine as long as the targeted .net framework versions are deployed on the servers? I'm also curious what would happen if I made a call to a method that internally used something from .Net 4.0 that didn't exist back in 2.0 (e.g. Linq).
I can't upgrade the web site to .net 4.0, as that would require regression testing of the full application (by company policy and common sense). That said, I do have the option of re-implementing the functionality I need in a .Net 2.0 project.
So--is referencing libraries built with newer .Net versions high risk, or am I out of the woods if it works on my local machine?

Using ASP.NET MVC 4 and Web API components within a .NET f/w 4.0 and VS2010-constructed app

I'm a little confused about one thing with version levels of various .NET software components related to ASP.NET MVC and the web api. Now I know VS2012 and .NET f/w 4.5 are going RTM "real soon now", but I don't want to make that up-transition for awhile (as in 6 months or longer). I am coding a new app right now whose initial incarnation (dictated by consulting client) has to be .NET f/w 4.0 and utilizing VS2010 (yes I know you can target downwards with VS2012 but that is not an option for me in this case - as a consultant you are sometimes dictated the tools/versions etc that you MUST use for a contract). So finally to the crux of my question - I just came across an article on MSDN by Mike Wasson, written in Jan/Feb 2012 timeframe, and it looks as if he used VS2010 and .NET f/w 4.0, but demonstrating the new-ish Web API technology utilizing ASP.NET MVC 4. So it IS possible to install the ASP.NET MVC 4 component within the context of .NET f/w 4.0 and VS2010, AND utilize the Web API component? Which, if that is true, I might want to do with this particular project rather than just using ASP.NET MVC 3 (and without using the Web API stuff at all), which is what i thought I would need to do. It's just that I thought to use ASP.NET MVC 4 and/or the Web API stuff, one HAD to use .NET f/w 4.5 RC and VS2012 RC prior to Sep 12 (or their RTMs after Sep 12). Is that not correct?
You can use mvc 4 and web api with .net 4.0. You cannot use features of .net 4.5 in it but all other will work.
So it IS possible to install the ASP.NET MVC 4 component within the
context of .NET f/w 4.0 and VS2010
Of course. It's RC at the time of this writing but you could download and install it from here: http://www.asp.net/mvc/mvc4 (Download the standalone installer executable for VS2010 from here: http://www.microsoft.com/en-us/download/details.aspx?id=29935)
Even when it hits RTM you will be able to use it with VS2010. Of course you won't be able to use .NET 4.5 speicic features with VS2010 though (things like async/await).

Convert a web app created in VS 2010 ASP.NET 4.0 to ASP.NET 3.5

I've made a web app in VS 2010 and by default, I think it uses the .NET Framework 4.0. Problem is, the server that's going to run it doesn't have 4.0.
Is there a way to downgrade the project? I'm not really knowledgeable with web hosting or web servers so I don't really know which is easier, downgrading the project or upgrading the web server. It's a company web server by the way, so I'm not sure about the legalities and stuff. It's free though, right?
Just right-click on the project in the Solution Explorer and go to properties. Under the "Application" tab, change the "Target Framework" from 4.0 to 3.5. That should do it provided you are not using any code features unique to 4.0.
If you can update the server easily, I would recommend that so that you have the 4.0 framework available to you going forward. The .NET framework is a free download.
Right-click on the project name and select Properties On the Application tab, you should see a Target framework: dropdown.

Resources