Possible to turn off App_Code auto-compile? - asp.net

Working with Visual Studio (I'm using 2008) I have started to notice that when you save a file in the /App_Code folder, the program will hang for a bit before returning control. After a bit of research, I have learned that there's an auto-compile feature at work, which I assume is what is slowing down my system.
So the question is this: Is it possible to turn off the automatic compiling of files in the /App_Code folder? Or, even better, is there a way to reduce the time that it takes, or make it work a little more smoothly in the background? Any thoughts/ideas are appreciated!

Sorry i don't know of any way of switching off compiling the app_code folder. If its an issue I would try to keep the amount of files in this directory down to a min or even move them out to a seperate library.
ScottGu has some good tips that you might find useful.
https://weblogs.asp.net/scottgu/Tip_2F00_Trick_3A00_-Optimizing-ASPNET-20-Web-Project-Build-Performance-with-VS-2005

No you can't turn off app_code folder.

Related

Strange behavior of CHM project

Anybody can help me with a strange problem I am having with my CHM based project?
I took an existing CHM file and deconstructed the file using WinCHM. After that I added some new pages and compiled the project. The CHM file was created and everything looked great so far.
After that I put the entire folder (where the original CHM file was deconstructed) into SVN. When I opened the folder the next time I see that all the original formatting from the html pages is lost.
I cant seem to find a reason why. The css files are okay and i have not changed that at all. I know that finding a solution to this (or determining the problem) may not be easy for you guys with so little information.
But can you guys at least tell me what the problem might be?? We are talking possibilities that is all.
Somehow you are in different directories when running, so CHM compiler doesn't get a proper understanding of the CHM root ? E.g. you now run a batchfile via a shortcut instead of changing to the proper dir ? (either by cmd.exe or direct link?)y
If that is not it, try looking at it with some other CHM viewer (easier on non Windows, but e.g. kchmviewer builds for windows exist too). Sometimes they give more error information (but sometimes only in the console window)
Then update your question with what exactly went wrong.
The answer is so simple that I am surprised that it did not occur to me. The directories stylesheets, scripts and images are not in the same folder as the html files. These should be in the same folder.

updating .net 4 site

Ive just made live a site for a client,
I need to now update it with both design and logic changes.
WHats the best way to do this? Never done it before.
I know I cant just overwrite the amended aspx and aspx.cs files, tried that and although the design changes take effect the coding doesnt.
Any info appreciated
thanks
You need to rebuild the binary in Visual Studio, and upload the DLL to the bin folder. The cs files don't even need to live on the server.

Creating project from existing IIS/ASP.NET website, building stuff

So I'm left maintaining a proprietary codebase from a third-party vendor. The vendor is still sort of around, but support is limp. The site is ASP.NET.
I have made some changes but I am having a really hard time getting IIS to compile these changes in. The bin/ directory has what I believe is a precompiled dll for the core classes. I've changed these but it doesn't recompile. I have tried deleting the dll but then the app refuses to build saying that the Global.asax can't inherit the type anymore, so I don't really know how to rebuild with changes.
I spent all day Saturday setting up a build environment and trying to get a testing thing working. I have just been importing into VS2008 as a web site from the local IIS server. I got it to rebuild the app without changes, but it ignores changes I would place in it.
So I need to make a solution out of this website and/or directory structure so that I can do actual, big, full grown-up rebuilds and make changes to this codebase. Anyone know how I can go about this?
EDIT: A bit more elaboration. I've tried creating a blank project and just Add Existing File... on the whole website directory. This hasn't worked, it stops the import about 10% in.
Keep in mind there are two (actually, three) levels of 'builds' or compiles going on here.
1) The DLLs in the /bin directory should be pre-built, by visual studio or otherwise. The content of .ASPX, ASCX, ASHX, ASAX etc fiels are not included in those.
2) The ASPX, etc files I noted above are then compiled by IIS when the first request comes in (normally; there are ways to change that behavior). That is the source of the error with Global.asax you are seeing; With the DLL(s) gone, the class that Global.asax is supposed to inherit from does not exist.
3) Then there is the just-in-time compilation, which is not relevant for this discussion.
It sounds like you may be missing the source files for the project, or perhaps the web site is not getting properly set up as a project to compile that DLL
Try these links, I suppose this is what you are looking for.
http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/20/linking-files-in-visual-studio.aspx
http://support.microsoft.com/kb/306234
Not sure this question is really valid anymore. The source we were working with was rather different than it should have been. Not sure if someone got angry in the past and moved stuff around or what, but grabbing a new copy of the source fixed most of our issues. I am able to build now with an included csproj.
This doesn't really help many others with the same issue I suppose, but if you are getting weird build behavior like this, you might want to start with basics, like making sure that your source checkout is valid.
I am new in asp.net so I am not sure it is a professional way or not.
I have the project without .snl file. I just create a empty web site and then paste the files inside the folder where I created the project.
It worked for me.
I think pasting the files and folder directly by file manager will help you.

decompiling an asp.net site

hallo all
i have an asp.net site which i have no source code for it.
anyway i would like to decompile the whole site and that way i can work on it agian.
how can i decompile an entire website easily to c# and not do it file by file with feflactor?
please help me with this, thank you!
You can use the File Disassembler plugin for Reflector. It'll let you dump out a whole assembly into code files all at once.
There's another plugin: FileGenerator, that looks like it'll do the same thing, and generate a project file for you to boot.
I have used Decompiler.NET in the past. It does a very nice job.
Decompiler.NET
Hopefully you have permission to Decompile this code.
In the time passed a number of new and much better options became available. JustDecompile and DotPeek are up to date free decompilers that are definitely up to the task of decompiling and asp.net site.
ILSpy should also be capable of doing this although it seems work on keeping it up to date is slowly coming to an end. dnSpy is a more obscure alternative for assemblies that have been somehow processed/modified after compilation, e.g. by obfuscator or IL optimizer, etc.

How to package an ASP.NET application to prevent customers from modifying it?

Is there a tool or some general approach to packaging all the files of an ASP.NET application into binary form to prevent modification once its deployed? I am thinking there would be a set of signed binaries and a config file for settings that we allow the customer to modify. Has anyone attempted this, is it even possible?
I would pay a reasonable amount for a slick commercial product that did this with minimal hassle.
UPDATE
Sorry, from the answers I can see that I wasn't clear. I meant literally packaging ALL files, not just the code files. This means aspx, scripts, images etc. I'm not trying to prevent reverse engineering... this is a supportability issue, i.e. to avoid dealing with problems brought about by customer messing with the files.
If you made a web application project than you can compile your code into a single dll file. You can find it in the bin folder.
Just use aspnet_compiler.exe to precomple everything and then use aspnet_merge.exe to roll up all of the compiled assemblies into a single assembly. You can use an obfuscation tool like DotFuscator if you want to make it more difficult to reverse-engineer. Visual Studio pro and up include a "lite" edition of Dotfuscator that you can use for this.
Your codebehind files will be compiled in a single dll as ZippyV already mentioned. The aspx files will get deployed normally on the webserver.
But still, your dll files can be disassembled quite easily. So to be sure you have to use an obfuscator.
If you mean ALL files including the aspx you could also consider ngen. It precompiles everything into a dll so you can't even get at the aspx pages.
Although, ngen was designed to get rid of the JIT compiling feature of the framework and is definitely not a generally recommended approach but it may work in your case well.
From VS2008 select the menu option "Tools" and then "Dotfuscator Community Edition". You will have a "Learn More" link after it starts up.
I also sign mine using SN.exe to make it have a strong name. Given all this, I think it is complicated enough to figure out a system if you are given the source code and help.... so I don't worry about it anymore.
maybe Dotfuscator your customer won't be able to modify it nor reverse-engineer it :)

Resources