The directory /App_Code is not allowed because the application is precompiled

I'm using VS.NET 2005 Beta 2. I have a helper C# class I wrote that I placed
in my /App_Code directory. Everything runs fine locally. However when I
use the "Copy Web" function to upload the site to the production server, I
get the following error when trying to run the page on production:
"System.Web.HttpException: The directory '/App_Code' is not allowed
because the application is precompiled."

Anyone know this works fine locally but not on development? How can I
resolve this?

Also on a related note I read a lot about a new "\code" directory in ASP.NET
2.0. Am I correct to assume that at some point they changed this from \code
to \App_Code and these are the same thing?

re:
> "System.Web.HttpException: The directory '/App_Code' is not allowed because the
> application is precompiled."
>
> Anyone know this works fine locally but not on development? How can I resolve this?

You don't need to resolve it.

Because you're precompiling, everything that would go in the App_Code
directory is already compiled and doesn't need to be uploaded.

If you want to upload your source files into the
App_Code directory, don't precompile your application.

"Steve Franks" <> wrote in message
news:...
> I'm using VS.NET 2005 Beta 2. I have a helper C# class I wrote that I placed in my
> /App_Code directory. Everything runs fine locally. However when I use the "Copy Web"
> function to upload the site to the production server, I get the following error when
> trying to run the page on production:
> "System.Web.HttpException: The directory '/App_Code' is not allowed because the
> application is precompiled."
>
> Anyone know this works fine locally but not on development? How can I resolve this?
>
> Also on a related note I read a lot about a new "\code" directory in ASP.NET 2.0. Am I
> correct to assume that at some point they changed this from \code to \App_Code and these
> are the same thing?
>
> Steve
>
>
>

Advertisements

> Because you're precompiling, everything that would go in the App_Code
> directory is already compiled and doesn't need to be uploaded.
>
> If you want to upload your source files into the
> App_Code directory, don't precompile your application.
>

I am not purposely precompiling my application. How can I prevent it from
precompiling?

Locally I just use VS.NET 2005 b2 to do the development and press F5 to run
it. Sometimes I press F6 to get a sanity check on whether I've screwed any
code up.

For production, I want the flexibility to be able to edit source on the
production server to make an update on the fly, so the precompiled approach
is not of interest.

My main goal is to just be able to easily synchronize the work I do at home
on the production server, and then get to work and easily update my local
dev copy of the web app to reflect the changes I've made at home by syncing
with the production server. Then I'll make changes at work, and when I get
home, I'll want to sync my home machine up with what's now on the production
server, and so forth. Currently I'm (trying) to use the Copy Web function
for this. Is that appropriate and/or is there a better way?

Any ideas about what I posted below? Looking forward to your response. Than
you so much.

Steve,

"Steve Franks" <> wrote in message
news:...
>> Because you're precompiling, everything that would go in the App_Code
>> directory is already compiled and doesn't need to be uploaded.
>>
>> If you want to upload your source files into the
>> App_Code directory, don't precompile your application.
>>
>
> I am not purposely precompiling my application. How can I prevent it from
> precompiling?
>
> Locally I just use VS.NET 2005 b2 to do the development and press F5 to
> run it. Sometimes I press F6 to get a sanity check on whether I've
> screwed any code up.
>
> For production, I want the flexibility to be able to edit source on the
> production server to make an update on the fly, so the precompiled
> approach is not of interest.
>
> My main goal is to just be able to easily synchronize the work I do at
> home on the production server, and then get to work and easily update my
> local dev copy of the web app to reflect the changes I've made at home by
> syncing with the production server. Then I'll make changes at work, and
> when I get home, I'll want to sync my home machine up with what's now on
> the production server, and so forth. Currently I'm (trying) to use the
> Copy Web function for this. Is that appropriate and/or is there a better
> way?
>
> Thanks,
>
> Steve
>

-Brock
DevelopMentorhttp://staff.develop.com/ballen
>> Because you're precompiling, everything that would go in the App_Code
>> directory is already compiled and doesn't need to be uploaded.
>>
>> If you want to upload your source files into the
>> App_Code directory, don't precompile your application.
> I am not purposely precompiling my application. How can I prevent it
> from precompiling?
>
> Locally I just use VS.NET 2005 b2 to do the development and press F5
> to run it. Sometimes I press F6 to get a sanity check on whether I've
> screwed any code up.
>
> For production, I want the flexibility to be able to edit source on
> the production server to make an update on the fly, so the precompiled
> approach is not of interest.
>
> My main goal is to just be able to easily synchronize the work I do at
> home on the production server, and then get to work and easily update
> my local dev copy of the web app to reflect the changes I've made at
> home by syncing with the production server. Then I'll make changes at
> work, and when I get home, I'll want to sync my home machine up with
> what's now on the production server, and so forth. Currently I'm
> (trying) to use the Copy Web function for this. Is that appropriate
> and/or is there a better way?
>
> Thanks,
>
> Steve
>

Well, there seems to be some sort of a conflict or design issue here with
this restriction.

I decided I'd just delete my App_Code directory from the remote site. I
figured this would be OK since its tellin gme the application is
precompiled. Yet then when I go to run a page it complains "The name
'myclass' does not exist in the current context". So if everything was
precompiled and no app_code directory is needed then what's the problem
here?

My preference is to precompile locally as I test and run my app, and then
when I publish to the remote server I want to publish all the files. I
can't seem to work around this. Any ideas?

Steve

"Brock Allen" <> wrote in message
news:...
>I would check your web project's properties under MSBuild.
>
> -Brock
> DevelopMentor
> http://staff.develop.com/ballen
>
>>> Because you're precompiling, everything that would go in the App_Code
>>> directory is already compiled and doesn't need to be uploaded.
>>>
>>> If you want to upload your source files into the
>>> App_Code directory, don't precompile your application.
>> I am not purposely precompiling my application. How can I prevent it
>> from precompiling?
>>
>> Locally I just use VS.NET 2005 b2 to do the development and press F5
>> to run it. Sometimes I press F6 to get a sanity check on whether I've
>> screwed any code up.
>>
>> For production, I want the flexibility to be able to edit source on
>> the production server to make an update on the fly, so the precompiled
>> approach is not of interest.
>>
>> My main goal is to just be able to easily synchronize the work I do at
>> home on the production server, and then get to work and easily update
>> my local dev copy of the web app to reflect the changes I've made at
>> home by syncing with the production server. Then I'll make changes at
>> work, and when I get home, I'll want to sync my home machine up with
>> what's now on the production server, and so forth. Currently I'm
>> (trying) to use the Copy Web function for this. Is that appropriate
>> and/or is there a better way?
>>
>> Thanks,
>>
>> Steve
>>
>
>

"Steve Franks" <> wrote in message
news:...
> Well, there seems to be some sort of a conflict or design issue here with this
> restriction.
>
> I decided I'd just delete my App_Code directory from the remote site. I figured this
> would be OK since its tellin gme the application is precompiled. Yet then when I go to
> run a page it complains "The name 'myclass' does not exist in the current context". So
> if everything was precompiled and no app_code directory is needed then what's the
> problem here?
>
> My preference is to precompile locally as I test and run my app, and then when I publish
> to the remote server I want to publish all the files. I can't seem to work around this.
> Any ideas?
>
> Steve
> "Brock Allen" <> wrote in message
> news:...
>>I would check your web project's properties under MSBuild.
>>
>> -Brock
>> DevelopMentor
>> http://staff.develop.com/ballen
>>
>>>> Because you're precompiling, everything that would go in the App_Code
>>>> directory is already compiled and doesn't need to be uploaded.
>>>>
>>>> If you want to upload your source files into the
>>>> App_Code directory, don't precompile your application.
>>> I am not purposely precompiling my application. How can I prevent it
>>> from precompiling?
>>>
>>> Locally I just use VS.NET 2005 b2 to do the development and press F5
>>> to run it. Sometimes I press F6 to get a sanity check on whether I've
>>> screwed any code up.
>>>
>>> For production, I want the flexibility to be able to edit source on
>>> the production server to make an update on the fly, so the precompiled
>>> approach is not of interest.
>>>
>>> My main goal is to just be able to easily synchronize the work I do at
>>> home on the production server, and then get to work and easily update
>>> my local dev copy of the web app to reflect the changes I've made at
>>> home by syncing with the production server. Then I'll make changes at
>>> work, and when I get home, I'll want to sync my home machine up with
>>> what's now on the production server, and so forth. Currently I'm
>>> (trying) to use the Copy Web function for this. Is that appropriate
>>> and/or is there a better way?
>>>
>>> Thanks,
>>>
>>> Steve

Sorry about the confusion. Let me explain specifically what I'm trying to
do.

Locally I'm using whatever the default settings are, as it relates to
precompiling. When I look at the property pages of my ASP.NET web
application, and click on the Build section, the revelant sections say
"Before running startup page: Build Web Site". And "Build solution action"
section has the check box checked for "Build web site as part of solution".

That is how I like to run things because I prefer to know about any mishaps
I've made coding-wise before the page runs.

Now over to production... I like the Copy Web function because it seems like
a convenient way from within VS.NET 2005 Beta 2 to easily have it sync the
production site with changes as I make them in development.

However recently I added a App_Code folder with a few utility classes I've
created. Now when I do the Copy Web the production site complains that the
App_Code folder is not allowed.

So my questions specifically are:

1) Is there a way where I can still use Copy Web in this scenario?

2) If not, how do I tell my local machine to not precompile and clear itself
from any precompiled files, so that when I do a copy web the remote site is
not in a precompiled mote? In other words, I assume my local machine has
the precompiled files that are being copied with Copy Web. So I do these
get deleted, and how do I set things set up locally so its no longer
prcompiled, so that my production server will be happy once I do a complete
Copy Web to try and straighten things out?

3) If I have to resort to a FTP copy, files with what extension should get
copied specifically? Or perhaps its easier toi look at it the other way -
which file extensions need to be deleted from the production server so it
does not see the web pages there as being "precompiled"?

Thanks so much. I'm looking forward to your answer as I have been stuck on
this for a few days. I really appreciate the help.

Steve

"Juan T. Llibre" <> wrote in message
news:...
> re:
>> My preference is to precompile locally as I test and run my app
>
> I thought you had said you did *not* precompile.
> There's a difference between "precompile" and "compile".
>
> Which one are you doing ?
>
> Have you tried to FTP your files instead of "publishing" them ?
>
>
>
> Juan T. Llibre
> ASP.NET MVP
> ASP.NET FAQ : http://asp.net.do/faq/
> ==========================
>
> "Steve Franks" <> wrote in message
> news:...
>> Well, there seems to be some sort of a conflict or design issue here with
>> this restriction.
>>
>> I decided I'd just delete my App_Code directory from the remote site. I
>> figured this would be OK since its tellin gme the application is
>> precompiled. Yet then when I go to run a page it complains "The name
>> 'myclass' does not exist in the current context". So if everything was
>> precompiled and no app_code directory is needed then what's the problem
>> here?
>>
>> My preference is to precompile locally as I test and run my app, and then
>> when I publish to the remote server I want to publish all the files. I
>> can't seem to work around this. Any ideas?
>>
>> Steve
>
>> "Brock Allen" <> wrote in message
>> news:...
>>>I would check your web project's properties under MSBuild.
>>>
>>> -Brock
>>> DevelopMentor
>>> http://staff.develop.com/ballen
>>>
>>>>> Because you're precompiling, everything that would go in the App_Code
>>>>> directory is already compiled and doesn't need to be uploaded.
>>>>>
>>>>> If you want to upload your source files into the
>>>>> App_Code directory, don't precompile your application.
>>>> I am not purposely precompiling my application. How can I prevent it
>>>> from precompiling?
>>>>
>>>> Locally I just use VS.NET 2005 b2 to do the development and press F5
>>>> to run it. Sometimes I press F6 to get a sanity check on whether I've
>>>> screwed any code up.
>>>>
>>>> For production, I want the flexibility to be able to edit source on
>>>> the production server to make an update on the fly, so the precompiled
>>>> approach is not of interest.
>>>>
>>>> My main goal is to just be able to easily synchronize the work I do at
>>>> home on the production server, and then get to work and easily update
>>>> my local dev copy of the web app to reflect the changes I've made at
>>>> home by syncing with the production server. Then I'll make changes at
>>>> work, and when I get home, I'll want to sync my home machine up with
>>>> what's now on the production server, and so forth. Currently I'm
>>>> (trying) to use the Copy Web function for this. Is that appropriate
>>>> and/or is there a better way?
>>>>
>>>> Thanks,
>>>>
>>>> Steve
>
>

"Steve Franks" <> wrote in message
news:...
> Sorry about the confusion. Let me explain specifically what I'm trying to do.
>
> Locally I'm using whatever the default settings are, as it relates to precompiling.
> When I look at the property pages of my ASP.NET web application, and click on the Build
> section, the revelant sections say "Before running startup page: Build Web Site". And
> "Build solution action" section has the check box checked for "Build web site as part of
> solution".
>
> That is how I like to run things because I prefer to know about any mishaps I've made
> coding-wise before the page runs.
>
> Now over to production... I like the Copy Web function because it seems like a
> convenient way from within VS.NET 2005 Beta 2 to easily have it sync the production site
> with changes as I make them in development.
>
> However recently I added a App_Code folder with a few utility classes I've created. Now
> when I do the Copy Web the production site complains that the App_Code folder is not
> allowed.
>
> So my questions specifically are:
>
> 1) Is there a way where I can still use Copy Web in this scenario?
>
> 2) If not, how do I tell my local machine to not precompile and clear itself from any
> precompiled files, so that when I do a copy web the remote site is not in a precompiled
> mote? In other words, I assume my local machine has the precompiled files that are
> being copied with Copy Web. So I do these get deleted, and how do I set things set up
> locally so its no longer prcompiled, so that my production server will be happy once I
> do a complete Copy Web to try and straighten things out?
>
> 3) If I have to resort to a FTP copy, files with what extension should get copied
> specifically? Or perhaps its easier toi look at it the other way - which file
> extensions need to be deleted from the production server so it does not see the web
> pages there as being "precompiled"?
>
> Thanks so much. I'm looking forward to your answer as I have been stuck on this for a
> few days. I really appreciate the help.
>
> Steve
>
> "Juan T. Llibre" <> wrote in message
> news:...
>> re:
>>> My preference is to precompile locally as I test and run my app
>>
>> I thought you had said you did *not* precompile.
>> There's a difference between "precompile" and "compile".
>>
>> Which one are you doing ?
>>
>> Have you tried to FTP your files instead of "publishing" them ?
>>
>>
>>
>> Juan T. Llibre
>> ASP.NET MVP
>> ASP.NET FAQ : http://asp.net.do/faq/
>> ==========================
>>
>> "Steve Franks" <> wrote in message
>> news:...
>>> Well, there seems to be some sort of a conflict or design issue here with this
>>> restriction.
>>>
>>> I decided I'd just delete my App_Code directory from the remote site. I figured this
>>> would be OK since its tellin gme the application is precompiled. Yet then when I go
>>> to run a page it complains "The name 'myclass' does not exist in the current context".
>>> So if everything was precompiled and no app_code directory is needed then what's the
>>> problem here?
>>>
>>> My preference is to precompile locally as I test and run my app, and then when I
>>> publish to the remote server I want to publish all the files. I can't seem to work
>>> around this. Any ideas?
>>>
>>> Steve
>>
>>> "Brock Allen" <> wrote in message
>>> news:...
>>>>I would check your web project's properties under MSBuild.
>>>>
>>>> -Brock
>>>> DevelopMentor
>>>> http://staff.develop.com/ballen
>>>>
>>>>>> Because you're precompiling, everything that would go in the App_Code
>>>>>> directory is already compiled and doesn't need to be uploaded.
>>>>>>
>>>>>> If you want to upload your source files into the
>>>>>> App_Code directory, don't precompile your application.
>>>>> I am not purposely precompiling my application. How can I prevent it
>>>>> from precompiling?
>>>>>
>>>>> Locally I just use VS.NET 2005 b2 to do the development and press F5
>>>>> to run it. Sometimes I press F6 to get a sanity check on whether I've
>>>>> screwed any code up.
>>>>>
>>>>> For production, I want the flexibility to be able to edit source on
>>>>> the production server to make an update on the fly, so the precompiled
>>>>> approach is not of interest.
>>>>>
>>>>> My main goal is to just be able to easily synchronize the work I do at
>>>>> home on the production server, and then get to work and easily update
>>>>> my local dev copy of the web app to reflect the changes I've made at
>>>>> home by syncing with the production server. Then I'll make changes at
>>>>> work, and when I get home, I'll want to sync my home machine up with
>>>>> what's now on the production server, and so forth. Currently I'm
>>>>> (trying) to use the Copy Web function for this. Is that appropriate
>>>>> and/or is there a better way?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Steve
>>
>>
>
>

Thanks. I thnk you hit the nail on the head in that at one point a long
time ago I did use the Publish Web Site tool and probably did not check that
option.

It looks like I've resolved it by deleting the entire remote site and then
using Copy Web over again.

Steve

"Juan T. Llibre" <> wrote in message
news:%...
> Hi, Steve.
>
> What this sounds like is that, at some point, the "Publish Web Site"
> tool was used instead of the "Copy Web" tool, and that the
> "Allow this precompiled site to be updatable" option was not selected.
>
> See : http://msdn2.microsoft.com/en-us/library/1y1404zt
> for a step-by-step guide to using the "Publish Web Site" tool.
>
> You can change the "Allow this site...to be updatable" option.
>
> You might also want to take a look at the "Copying a website" walkthrough:
> http://msdn2.microsoft.com/en-us/library/xay0wxbf
>
> and at : http://msdn2.microsoft.com/en-us/library/1cc82atw
> "Copying Web Sites with the Copy Web Site Tool"
>
> You might be missing a key step in the process,
> and reviewing those walkthroughs might point it out to you.
>
>
>
>
> Juan T. Llibre
> ASP.NET MVP
> ASP.NET FAQ : http://asp.net.do/faq/
> ==========================
>
> "Steve Franks" <> wrote in message
> news:...
>> Sorry about the confusion. Let me explain specifically what I'm trying
>> to do.
>>
>> Locally I'm using whatever the default settings are, as it relates to
>> precompiling.
>> When I look at the property pages of my ASP.NET web application, and
>> click on the Build
>> section, the revelant sections say "Before running startup page: Build
>> Web Site". And
>> "Build solution action" section has the check box checked for "Build web
>> site as part of
>> solution".
>>
>> That is how I like to run things because I prefer to know about any
>> mishaps I've made
>> coding-wise before the page runs.
>>
>> Now over to production... I like the Copy Web function because it seems
>> like a
>> convenient way from within VS.NET 2005 Beta 2 to easily have it sync the
>> production site
>> with changes as I make them in development.
>>
>> However recently I added a App_Code folder with a few utility classes
>> I've created. Now
>> when I do the Copy Web the production site complains that the App_Code
>> folder is not
>> allowed.
>>
>> So my questions specifically are:
>>
>> 1) Is there a way where I can still use Copy Web in this scenario?
>>
>> 2) If not, how do I tell my local machine to not precompile and clear
>> itself from any
>> precompiled files, so that when I do a copy web the remote site is not in
>> a precompiled
>> mote? In other words, I assume my local machine has the precompiled
>> files that are
>> being copied with Copy Web. So I do these get deleted, and how do I set
>> things set up
>> locally so its no longer prcompiled, so that my production server will be
>> happy once I
>> do a complete Copy Web to try and straighten things out?
>>
>> 3) If I have to resort to a FTP copy, files with what extension should
>> get copied
>> specifically? Or perhaps its easier toi look at it the other way - which
>> file
>> extensions need to be deleted from the production server so it does not
>> see the web
>> pages there as being "precompiled"?
>>
>> Thanks so much. I'm looking forward to your answer as I have been stuck
>> on this for a
>> few days. I really appreciate the help.
>>
>> Steve
>>
>> "Juan T. Llibre" <> wrote in message
>> news:...
>>> re:
>>>> My preference is to precompile locally as I test and run my app
>>>
>>> I thought you had said you did *not* precompile.
>>> There's a difference between "precompile" and "compile".
>>>
>>> Which one are you doing ?
>>>
>>> Have you tried to FTP your files instead of "publishing" them ?
>>>
>>>
>>>
>>> Juan T. Llibre
>>> ASP.NET MVP
>>> ASP.NET FAQ : http://asp.net.do/faq/
>>> ==========================
>>>
>>> "Steve Franks" <> wrote in message
>>> news:...
>>>> Well, there seems to be some sort of a conflict or design issue here
>>>> with this
>>>> restriction.
>>>>
>>>> I decided I'd just delete my App_Code directory from the remote site.
>>>> I figured this
>>>> would be OK since its tellin gme the application is precompiled. Yet
>>>> then when I go
>>>> to run a page it complains "The name 'myclass' does not exist in the
>>>> current context".
>>>> So if everything was precompiled and no app_code directory is needed
>>>> then what's the
>>>> problem here?
>>>>
>>>> My preference is to precompile locally as I test and run my app, and
>>>> then when I
>>>> publish to the remote server I want to publish all the files. I can't
>>>> seem to work
>>>> around this. Any ideas?
>>>>
>>>> Steve
>>>
>>>> "Brock Allen" <> wrote in message
>>>> news:...
>>>>>I would check your web project's properties under MSBuild.
>>>>>
>>>>> -Brock
>>>>> DevelopMentor
>>>>> http://staff.develop.com/ballen
>>>>>
>>>>>>> Because you're precompiling, everything that would go in the
>>>>>>> App_Code
>>>>>>> directory is already compiled and doesn't need to be uploaded.
>>>>>>>
>>>>>>> If you want to upload your source files into the
>>>>>>> App_Code directory, don't precompile your application.
>>>>>> I am not purposely precompiling my application. How can I prevent it
>>>>>> from precompiling?
>>>>>>
>>>>>> Locally I just use VS.NET 2005 b2 to do the development and press F5
>>>>>> to run it. Sometimes I press F6 to get a sanity check on whether
>>>>>> I've
>>>>>> screwed any code up.
>>>>>>
>>>>>> For production, I want the flexibility to be able to edit source on
>>>>>> the production server to make an update on the fly, so the
>>>>>> precompiled
>>>>>> approach is not of interest.
>>>>>>
>>>>>> My main goal is to just be able to easily synchronize the work I do
>>>>>> at
>>>>>> home on the production server, and then get to work and easily update
>>>>>> my local dev copy of the web app to reflect the changes I've made at
>>>>>> home by syncing with the production server. Then I'll make changes
>>>>>> at
>>>>>> work, and when I get home, I'll want to sync my home machine up with
>>>>>> what's now on the production server, and so forth. Currently I'm
>>>>>> (trying) to use the Copy Web function for this. Is that appropriate
>>>>>> and/or is there a better way?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Steve
>>>
>>>
>>
>>
>
>
>

Thanks again Juan. On a different subject - since we are talking I was
wondering what approach you use to resolve the issue I posted about in a
posting called: "How to remove virtual path from root url of dev web server"
in this newsgroup on August 28. Likewise I have a similiar issue that I
posted about under the subject "Masterpage issue with relative links to
background images" on August 27.

It would be great if you could please share your thoughts on these
challenges.

Thank you,

Steve

"Juan T. Llibre" <> wrote in message
news:%...
> Hi, Steve.
>
> What this sounds like is that, at some point, the "Publish Web Site"
> tool was used instead of the "Copy Web" tool, and that the
> "Allow this precompiled site to be updatable" option was not selected.

I'm using VS.NET 2005 Beta 2. I have a helper C# class I wrote that I placed
in my /App_Code directory. Everything runs fine locally. However when I
use the "Copy Web" function to upload the site to the production server, I
get the following error when trying to run the page on production:
"System.Web.HttpException: The directory '/App_Code' is not allowed
because the application is precompiled."

Anyone know this works fine locally but not on development? How can I
resolve this?

Also on a related note I read a lot about a new "\code" directory in ASP.NET
2.0. Am I correct to assume that at some point they changed this from \code
to \App_Code and these are the same thing?

Steve

Click to expand...

The application is being precompiled when you use the "Copy Web" function but retaining the app_code folder.

After you copy it over using the Copy Web function try the following:
1) You can try to manually delete the app_code folder at the production server location after you copy it over.
Or
2) delete the App_Code.dll in the Bin Directory . you may also have a precompiled.config file that is in the root directory of your site that also needs to be deleted .
If you get a Global.ASAX Ambiguous error. then also delete the GlobalAsax.dll in the Bin Directory

Share This Page

Welcome to The Coding Forums!

Welcome to the Coding Forums, the place to chat about anything related to programming and coding languages.

Please join our friendly community by clicking the button below - it only takes a few seconds and is totally free. You'll be able to ask questions about coding or chat with the community and help others.
Sign up now!