You had to ask. We upgraded from asp.net 1.1 to 2.0 on a test site (not live) and tweaked it for a couple of weeks before we pointed the live host header to the new site. I inherited this site two months ago and it still has asp pages from 6 years ago running
vbscript that reads and writes data. It is overdue for an overhaul, but we have two other sites with brand new designs and I am going to create a model for the things we do while building them from scratch. By then, this one will probably have a new design.
I was actually asking about the steps you took to deploy the web site. Did you use the Publish feature in VS? And If so, which options did you choose (eg updatable, fixed naming)? If you used aspnet_compiler, what arguments did you use?
Note that by default each web content folder gets compiled into a single dll, so if you did not use fixed naming, you might have to deploy the dll corresponding to the affected dll.
One possible way to try to workaround the app_code.dll problem you mentioned might be to create a new website, and then put the compiled app_code.dll into bin. Then compile and redeploy only the dll corresponding to the pages.
==============================================
If you get the answer to your question, please mark it as the answer.
>One possible way to try to workaround the app_code.dll problem you mentioned might be to create a new website, and then put the compiled app_code.dll into bin
Maybe I am misunderstanding you, but I think that is what I tried. When I put the new version of app_code.dll and just the page I wanted with its dll, the app complained that it couldn't find a dll from the new set that was compiled with the new app_code.dll.
I believe all the code is tied together in some way and the dlls go out as a full set or not at all. I have read several articles that seem to me to support that belief.
>Then compile and redeploy only the dll corresponding to the pages
I wasn't able to figure out how to compile just one folder.
Here is a thought. It seems to me that you are spinning your wheels here and trying to accomplish something that just is not possible. If you could figure out a way to move your code into a simple website, that deploys without being compiled, you will be
fine. In other words, no dll. Just .aspx and .cs pages. I used to deploy my ASP.Net web sites just like that, and changing a single code behind was always fine.
Here is a thought. It seems to me that you are spinning your wheels here and trying to accomplish something that just is not possible. If you could figure out a way to move your code into a simple website, that deploys without being compiled, you will be
fine. In other words, no dll. Just .aspx and .cs pages. I used to deploy my ASP.Net web sites just like that, and changing a single code behind was always fine.
Thanks. I think I understand my options. I appreciate everyone's assistance.
I don't really understand the problem you are trying to solve. In this case, can't you just redeploy the dll corresponding the page on to the server?
If you need further help, perhaps you could be explicit and provide the following information: set of original files in web site, set of files in deployed websites, and which files you are trying to update.
1. For example, I have an original web site Website1 with the following 3 files:
- website1\Default.aspx
- website1\Default.aspx.cs
- website1\App_Code\MyClass.cs
2. Now, I publish with VS, or use the aspnet_compiler equivalent with fixednames and updatable, to an output folder:
Note that App_Web_Default.aspx.cdcab7d2.dll is the dll corresponding to Default.aspx.cs. You can open up the Default.aspx file in the output folder, which will have been updated to point to this assembly.
4. Now, I make changes to *original* Default.aspx.cs to the web site listed in step 1.
5. Then, I perform the same step I did in step 2, to precompile the web site.
6. I will get *exactly* the same files in step 3.
7. I can now deploy *just* App_Web_Default.aspx.cdcab7d2.dll on the server, which contains the updated code.
You can see a similar example using fixednames in this article: Managing ASP.NET Precompiled Output for Deployment Using the aspnet_merge.exe Command
pthalacker
Member
11 Points
55 Posts
Re: Update a single page
May 08, 2008 10:49 PM|LINK
You had to ask. We upgraded from asp.net 1.1 to 2.0 on a test site (not live) and tweaked it for a couple of weeks before we pointed the live host header to the new site. I inherited this site two months ago and it still has asp pages from 6 years ago running vbscript that reads and writes data. It is overdue for an overhaul, but we have two other sites with brand new designs and I am going to create a model for the things we do while building them from scratch. By then, this one will probably have a new design.
pamela
hongping
Contributor
3403 Points
635 Posts
Microsoft
Re: Update a single page
May 08, 2008 11:06 PM|LINK
I was actually asking about the steps you took to deploy the web site. Did you use the Publish feature in VS? And If so, which options did you choose (eg updatable, fixed naming)? If you used aspnet_compiler, what arguments did you use?
Note that by default each web content folder gets compiled into a single dll, so if you did not use fixed naming, you might have to deploy the dll corresponding to the affected dll.
One possible way to try to workaround the app_code.dll problem you mentioned might be to create a new website, and then put the compiled app_code.dll into bin. Then compile and redeploy only the dll corresponding to the pages.
If you get the answer to your question, please mark it as the answer.
pthalacker
Member
11 Points
55 Posts
Re: Update a single page
May 09, 2008 01:40 PM|LINK
>Did you use the Publish feature in VS?
Yes and I chose updatable and fixed naming
>One possible way to try to workaround the app_code.dll problem you mentioned might be to create a new website, and then put the compiled app_code.dll into bin
Maybe I am misunderstanding you, but I think that is what I tried. When I put the new version of app_code.dll and just the page I wanted with its dll, the app complained that it couldn't find a dll from the new set that was compiled with the new app_code.dll. I believe all the code is tied together in some way and the dlls go out as a full set or not at all. I have read several articles that seem to me to support that belief.
>Then compile and redeploy only the dll corresponding to the pages
I wasn't able to figure out how to compile just one folder.
allanhorwitz
Contributor
2517 Points
623 Posts
Re: Update a single page
May 09, 2008 01:52 PM|LINK
Here is a thought. It seems to me that you are spinning your wheels here and trying to accomplish something that just is not possible. If you could figure out a way to move your code into a simple website, that deploys without being compiled, you will be fine. In other words, no dll. Just .aspx and .cs pages. I used to deploy my ASP.Net web sites just like that, and changing a single code behind was always fine.
pthalacker
Member
11 Points
55 Posts
Re: Update a single page
May 09, 2008 01:55 PM|LINK
Thanks. I think I understand my options. I appreciate everyone's assistance.
pamela
hongping
Contributor
3403 Points
635 Posts
Microsoft
Re: Update a single page
May 09, 2008 10:55 PM|LINK
> Yes and I chose updatable and fixed naming
I don't really understand the problem you are trying to solve. In this case, can't you just redeploy the dll corresponding the page on to the server?
If you need further help, perhaps you could be explicit and provide the following information: set of original files in web site, set of files in deployed websites, and which files you are trying to update.
1. For example, I have an original web site Website1 with the following 3 files:
- website1\Default.aspx
- website1\Default.aspx.cs
- website1\App_Code\MyClass.cs
2. Now, I publish with VS, or use the aspnet_compiler equivalent with fixednames and updatable, to an output folder:
aspnet_compiler -f -c -fixednames -u -p website1 -v website1 website1_deploy
3. The result will be the following set of files in website1_deploy, which I then use to deploy on my server:
- website1_deploy\PrecompiledApp.config
- website1_deploy\Default.aspx
- website1_deploy\bin\App_Code.dll
- website1_deploy\bin\App_Code.compiled
- website1_deploy\bin\App_Web_default.aspx.cdcab7d2.dll
Note that App_Web_Default.aspx.cdcab7d2.dll is the dll corresponding to Default.aspx.cs. You can open up the Default.aspx file in the output folder, which will have been updated to point to this assembly.
4. Now, I make changes to *original* Default.aspx.cs to the web site listed in step 1.
5. Then, I perform the same step I did in step 2, to precompile the web site.
6. I will get *exactly* the same files in step 3.
7. I can now deploy *just* App_Web_Default.aspx.cdcab7d2.dll on the server, which contains the updated code.
You can see a similar example using fixednames in this article: Managing ASP.NET Precompiled Output for Deployment Using the aspnet_merge.exe Command
http://msdn.microsoft.com/en-us/library/aa479044.aspx
Is this what you are trying to do? Modify a single Default.aspx.cs and update the corresponding dll on the server?
Or is the problem you only have the *deployed* files listed in step 3, and *not* the original files in step 1?
If you get the answer to your question, please mark it as the answer.