title: How to modify precompiled ASP.NET web site? Visual Studio complains that site is precompiled
body: <p>I have a web application on ASP.NET (C#) that has some precompiled components. I've been supporting it with no problems from quite sometime, adding features and extending. Right now I am facing another extension that requires calling a remote SOAP service.</p>
  
  <p>I've tried doing it according to some recommendations that I got here - via adding Web Reference, creating proxy class and all that, but Visual complains that app is precompiled. </p>
  
  <p>Here is the actual output of compiler:</p>
  
  <blockquote>
    <p>The directory
    '/trxv/App_WebReferences/' is not
    allowed because the application is
    precompiled. Description: An unhandled
    exception occurred during the
    execution of the current web request.
    Please review the stack trace for more
    information about the error and where
    it originated in the code.</p>
    
    <p>Exception Details:
    System.Web.HttpException: The
    directory '/trxv/App_WebReferences/'
    is not allowed because the application
    is precompiled.</p>
    
    <p>Source Error:</p>
    
    <p>An unhandled exception was generated
    during the execution of the current
    web request. Information regarding the
    origin and location of the exception
    can be identified using the exception
    stack trace below.</p>
    
    <p>Stack Trace:</p>
    
    <p>[HttpException (0x80004005): The
    directory '/trxv/App_WebReferences/'
    is not allowed because the application
    is precompiled.]<br>
    System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath
    virtualDir, CodeDirectoryType dirType,
    String assemblyName, StringSet
    excludedSubdirectories, Boolean
    isDirectoryAllowed) +8805619<br>
    System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath
    virtualDir, CodeDirectoryType dirType,
    String assemblyName, StringSet
    excludedSubdirectories) +128<br>
    System.Web.Compilation.BuildManager.CompileWebRefDirectory()
    +31    System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
    +312</p>
    
    <p>[HttpException (0x80004005): The
    directory '/trxv/App_WebReferences/'
    is not allowed because the application
    is precompiled.]<br>
    System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()
    +58    System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
    +512    System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager
    appManager, IApplicationHost appHost,
    IConfigMapPathFactory
    configMapPathFactory,
    HostingEnvironmentParameters
    hostingParameters) +729</p>
    
    <p>[HttpException (0x80004005): The
    directory '/trxv/App_WebReferences/'
    is not allowed because the application
    is precompiled.]<br>
    System.Web.HttpRuntime.FirstRequestInit(HttpContext
    context) +8886319<br>
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext
    context) +85<br>
    System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest
    wr) +259</p>
    
    <p>Version Information: Microsoft .NET
    Framework Version:2.0.50727.3053;
    ASP.NET Version:2.0.50727.3053</p>
  </blockquote>
  
  <p>Are there any other more or less simple(i.e. high level) methods of calling SOAP client, that would not require recompilation? Unfortunately original source code for the system is not available.</p>