ASP.NET files necessary for development - asp.net

I am just getting started in ASP.NET and have some existing projects to maintain.
I have read that ASP.NET projects include a folder called app_data, a code behind DLL, .sln project files, .proj files etc
Which of these files are necessary for the continued development of a ASP.NET website?
Also, are there others which are key to building ASP.NET applications?

Unfortunately, there are two kinds of ASP.NET application: Web Sites and Web Application Projects. If you have files with a .csproj type or .vbproj, then you're in luck - you have a Web Application Project. You'll want to open the .csproj file as a project in Visual Studio. All the files that are listed are necessary.
In fact, if it's in the site's folder or subfolders, you should assume it's necessary.

Related

It is only able to refer the class files inside App_Code folder in a file in ASP .NET website application

Only the class files inside App_Code folder is able to refer in a file in ASP .NET website application. Why its so?
Only the class files inside App_Code folder is able to refer in a file in
ASP .NET website application. Why its so?
The answer is very simple Website application working as designed.
App_Code folder is a special ASP.NET RUNTIME folder.Any files in this folder are compiled by ASP.NET when your site is actually running on the server.
This essentially allows you to drop random class/code files in this folder to be compiled on the server side. For this very reason if you drop something new into the App_Code folder of your running web site, it is like resetting it coz ASP.NET runtime now recognizes that there is a new class which needs to be kept in consideration during running the site. This magical folder brings with itself various connotations when it comes to different project typescourtesy
ASP.NET decide at runtime which compiler to invoke for the App_Code folder based on the files it contains. If the App_Code folder contains .vb files, ASP.NET uses the VB compiler. if it contains .cs files, ASP.NET uses the C# compiler, and so on...
You can refer the following resources too.
Web Application Projects versus Web Site Projects
Shared Code Folders in ASP.NET Web Site Projects
There's a difference between ASP.NET WebSite and ASP.NET Web Application. It appears that you created a WebSite in which code files are stored the App_Code folder. If you create a web application you can place the code wherever you want an they will be compiled to assemblies that will be copied to the bin folder. This way you don't need to deploy your source code on the web server.

publish asp.net website into single dll file

I got a asp.net website from my client that need to be modified. The problem is that the old company was uploading the project as a release which means no code but a sinlge dll file.
We can make a single dll file the project type is web application not a website!!
Can you adivse how to publish sinlgle dll fiel.
Regards,
Moayyad
If you want a single DLL, then convert your website into a web application. Once you convert, everything inside your project will be compiled into a single DLL file.But still, any external assemblies will be inside their own DLL files.

Recover ASP.NET Project from IIS Deployment

I'm a real newbie for ASP.NET web development, having a background in Java. A friend has an ASP.NET 3.0 deployment running on IIS. He can't find the original project files created in Visual Studio 2008 and has asked me to give him a hand.
Is it possible to recreate the project from the deployment on IIS? I see lots of ASPX and and CS files so in the inetpub[domain]\httpdocs directory.
I don't see the .SLN file. I assume that's what he needs. Would it be a real chore to rebuild? Are there any assets or source files that won't be deployed to ISS that I'd need to recreate?
Thanks
Re-creating the soloution/project files is (potentially) a small part of the recovery. Do you see any .aspx.cs or .aspx.vb files on the web server? If not, you'll need to extract the code from the code for each .aspx file from the DDL's in the web site's /bin folder. You can reverse engineer any .Net code quite easyily luckily with reflector, however all comments will be lost.
If you have the aspx and the cs files, you are in business: all you need to do is create a new Web Project in Visual Studio and select "Add Existing Files". You would then select all your aspx pages only and the cs files should get automatically imported for you.
Obviously, as anything, you'd probably have some references missing and what not, but shouldn't be incredibly painful to fix all those issues.
If it's a compiled web application project the code will be in a compiled assembly in the bin folder. This can be decompiled with .NET reflector. The source will be readable but not as original.
If it's a website project you're in luck. The code files will be in the website structure (*.aspx.cs or *.aspx.vb). These will constitute pretty much all of the assets you need to recreate the site in Visual Studio. Creating a project and solution file to manage these in VS will be the easy bit.

Update pre-compiled files in ASP.NET

After publishing asp.net web site, I got mant ASP_Web_xxxxx.dll.
After deploying these files to production server, how do I know which file to be replaced, if I modify one codebehind or .aspx file and re-publishing the web site?
Thanks.
It sounds like you are running a web site, and not a web application project. A website doesn't have a project file, and therefore doesn't create a single dll. Instead it created a bunch of smaller dlls. You don't have any control over which classes, etc are in which .dll.
When you deploy your web site, you will need to delete all of these dlls and move all of the new ones over. If you don't do this, you could potentially have 2 dlls that contain the same code, and you will run into issues with code being defined twice when you JIT.
If you can, I recommend you migrate your web site to a Web Application Project, so you only have one .dll you need to worry about. There are several tutorials out there including this one for VS2005.

ASP.NET Without Project File

I've got a ASP.NET project without the .proj file. How do I recreate the project file, so I can work on it on my machine?
Is this possbile?
Are you sure it's not a Web Site Project, as opposed to a Web Application Project? Web Site projects do not have project files - you open a folder rather than a project file. See here for the differences between the two.
To check, each page of a Web Application project will have a .aspx, a .aspx.cs and a .aspx.designer.cs, whereas the Web Site project pages don't have the designer files.
You can create a new project and then you can use the "Add Existing Item" and add each of your files (you can select multiple files).
EDIT:
Or your can drag and drop the files into the "Solution Explorer"
First of all, you need to run VS2005 SP1 or later. In VS2005, they removed the project file. They reintroduced it again in SP1.
If you don't have a project file, your project is called a "Web Site". If you have a project file, it's a "Web Application". One difference between the two is also that in a web application, you compile all code-behind files to a single .dll. In a web site, each code behind file goes in its own dll (or are compiled dynamically at runtime)
I believe that if you right click the project in solution explorer, there is a "Convert To Web Application" menu item.
Note, you must rename the App_Code folder to something else, otherwise it will be compiled both at compile time, and at runtime.
Personally I much prefer web applications to web sites

Resources