Tip: regenerate aspx.designer.cs files when corrupted
Posted on 28 July 2009
| problem | quick solution | step-by-step | remarks | references | comments |
This post explains how you can regenerate the designer.cs and designer.vb files when they are corrupted, missing or giving compile errors.
Problem
Occasionally it happens that you receive compile errors in your *.aspx.designer.cs or *.aspx.designer.vb files in your project and it seems that there’s virtually nothing you can do. Some seem to be caused by Visual Studio bugs, others are caused by wrong usage or copy and pasting pages from outside your project. Be as it may, often these issues are deceptively easy to solve! Here’s a 1 minute quick solution if you consider yourself somewhat experienced. Need more guidance? Try the step-by-step solution.
Quick Solution
Just follow these three simple steps and your *.aspx.designer.cs will magically reappear! If this goes too quick, or you just feel you need a bit more guidance, try the step by step solution in the following section
- Locate the corrupted
aspx.designer.csfile through the Solution Explorer - Delete only the designer.cs file from your project
- Rightclick your main aspx file and select “Convert to Web Application“.
Step by step solution
Before you start, make sure that you actually have a problem. Don’t do something drastic when it is not necessary. Clean your project (Build > Clean Project) and the rebuild it (Build > Rebuild Project). If this does not solve your problem, and you still see errors like the one below or similar,
then follow these steps:
Step 1: Open your project
Your project must be a Web Application project. If you have a Web Site project, you do no need to worry about designer.cs files, because they won’t be there: a Web Site does not need any, it’s the cleaner and more advanced version of a Web Application.
If you are in doubt, check the picture on the right.
Step 2: Delete the designer.cs file
When you delete the designer.cs file, the file must be listed like in the picture by Step 1. Right-click the file in the Solution Explorer and select the Delete option. Do not delete the file from disk using the normal Windows Explorer, or Command prompt or whatever. If you did so, you must still right-click the item (now with a warning symbol) and select Delete.
Deleting the file is a harmless action, the file does not contain any valuable information and you should’ve never edited it yourself, because it would be overridden by Visual Studio when auto-generating it again. All it contains are the declarations of the protected fields, which are declared in the ASPX file declaratively.
Step 3: Convert to Web Application
Only if you removed the designer.cs file as described in Step 2, you will find this option when you right-click the project or the ASPX file. After you click this menu option, the designer.cs file will be regenerated for you.
Perhaps a better word for this menu option could’ve been: repair designer.cs. In which case they should’ve made it available at any time, to force-regenerate the designer.cs. Perhaps in Visual Studio 2010?
Remarks
If nothing happens, you may have tried to delete the *.aspx.designer.cs file from Windows Explorer or a Command Window. Don’t do that: you must remove it from inside the Visual Studio environment or this trick will not work at all. If you deleted the file externally, you can still follow the three steps above, as Visual Studio will still show the referenced designer.cs file as a missing file in your Solution Explorer.
Compatibility
This tip works and is tested with the following versions of Visual Studio:
- Visual Studio 2005;
- Visual Studio 2008;
- Visual Studio 2008 Service Pack 1.
- For migration from .NET 1.1, see the reference of Jan Schreuder below
Credit
Credit for this tip go to Matthias Suter for briefly pointing to this possibility on his blog.
References
Other references explaining the same idea or extending it are:
- on asp.net forums about designer.vb files instead of cs files (same idea),
- on Prolific Notion as quick tip and
- on Jan Schreuder on .NET, who shows the hard way of doing the same when migrating from .NET 1.1 and getting your code cleaned of .NET 1.1 protected members.
– Abel –
Don’t follow the advised on the TechNet, MS Connect and MSDN forums, they are time-consuming and don’t work if you have a newer version of .NET installed like .NET 4.0. Instead, read this and easily fix this hard-to-resolve error by simply changing one registry value. read article
Ever tried to shrink a volume? Ever wondered why you cannot shrink a volume smaller than half its size? Ever wondered what $MFTMirr is all about and what it’s doing in the middle of your drive? Or do you just want to get the biggest available free space and shrink your drive? Then this article is for you — read article
Have you ever received this error using Windows System Backup and Restore Center? Never managed to get rid of it or it mysteriously keeps coming back? Here’s a lightweight and easy solution — read article
14 responses to Tip: regenerate aspx.designer.cs files when corrupted
Leave a Response
Additional comments powered by BackType




Thanks Buddy…You saved my life….
Obrigado, funcionou perfeitamente! =)
2 years after you posted this article I’m going to ask a question about it because nobody seams to know the answer (I even had contact with some microsoft guys):
Do you know a way of doing this with winform applications?
Yes, this is a great article as long as you have one file to regenerate. I have a project with over 300 files to regenerate and I must say that this is a kind of horror. Really, no easy way of doing it?
Write a little program which deletes all *.designer.cs files?
Thank you–that got me closer!
Regeneration using “Convert to Web Application” failed with a system exception for an aspx-page which was derived from a custom base class (so not directly from System.Web.UI.Page). When I temporarily changed my partial class to derive from System.Web.UI.Page (also made the class in the cs-file empty), regeneration succeeded. Still, later edits in the aspx-page did not show up in the designer file. The connection is effectively lost…
Bart Donders
Bart, what was the system exception you received? Have you tried again with a backup copy and did it yield the same error or did happen only once? What version of Visual Studio and .NET are you using?
– Abel –
Thanks so much!!! Its wonderful…
Thanks a lot it worked for me
Thanks for this! I struggled for 2 hours on this and now I “get it”.
Thanks
Dave
Hi,
It worked for me. Thanks for the solution.
Regards,
Milind
I tried this. I deleted my aspx.designer.cs file (it showed up as a separate file rather than a ‘subfile’ of the .aspx file). When I right click on the .apsx file, there is no option to convert to a web application.
Two things that come to mind:
1. you are not inside a web application, but inside a web site
2. because the file appeared as a “subfile”, it was not recognized as a designer file; try showing all files (button on top of solution expl) to see if they’re there already.
EDIT: I added screenshots for every step to make the process more understandable, see the Step by Step section.
– Abel –