| **Navigation:**  [[clarion.htm|Clarion.Net (Clarion#)]] > [[clarion net language reference.htm|Clarion# Language Extensions]] > Clarion.NET FAQs > ASP.NET Troubleshooting >====== ASP.NET Deployment Tips ====== | [[adding an ocx control to the design environment.htm|{{btn_prev_n.gif|Previous page}}]][[clarion net language reference.htm|{{btn_home_n.gif|Return to chapter overview}}]][[asp net troubleshooting web config access errors.htm|{{btn_next_n.gif|Next page}}]] | | || ASP.NET has some "special" folders used for deployment. You will need to create these folders from your project root folder. For example, if your project name is //WebInvoice//, in the project folder you will see the following sub-folders: {{aspfolders.jpg|ASPFolders.jpg}} If your Web application includes code that you want to share between multiple pages, you can keep the code in one of two special folders underneath the root of your Web application; the **Bin** folder and the **App_Code** folder. **/bin** Used for dependent assemblies. You can store compiled assemblies in the /bin folder, and other code anywhere in the Web application (such as code for your pages) automatically references it. A typical example is that you have the compiled code for a custom class. You can copy the compiled assembly to the /bin folder of your Web application and the class is then available to all pages. If you change the DLL and copy a new version of it to the /bin folder, ASP.NET detects the update and uses the new version of the DLL for new page requests from then on. The basic assemblies that need to be copied to the BIN folder are as follows: Mono.Cecil.dll SoftVelocity.Clarion.ClarionCodeProvider.dll SoftVelocity.Clarion.CompilerMessages.dll SoftVelocity.Clarion.FileIO.dll SoftVelocity.Clarion.Runtime.Classes.dll SoftVelocity.Clarion.Runtime.Procedures.dll **Security and Scope of the /bin Folder** Assemblies in the /bin folder are scoped to the current application. Therefore, they cannot access resources or invoke code outside the current Web application. At run time, the access levels of an assembly are established by the trust level specified on the local computer. For more information, see ASP.NET Trust Levels and Policy Files. **/app_code** Used for additional .CLN files you'd like ASP.NET to compile for you. Any source code or object that you want to be visible to your ASP.NET code pages should be copied here. You can store source code in the /app_code folder, and it will be automatically compiled at run time. The resulting assembly is accessible to any other code in the Web application. The /app_code folder works like the Bin folder, except that you can store source code in it instead of compiled code. The /app_code folder can contain source code files, and it can also include files such as Web Service Description Language (.wsdl) files and XML schema (.xsd) files. ASP.NET can compile these files into assemblies. The /app_code folder can contain as many files and subfolders as you need. You can organize your source code in any way that you find convenient, and ASP.NET will still compile all of the code into a single assembly that is accessible to other code anywhere in the Web application. {{notebox.jpg|NoteBox.jpg}} User controls are not allowed in the App_Code folder. **/app_webreferences** Used for WSDL files to be compiled into proxies. **/app_data** Used for arbitrary data files that won't be served up directly to a HTTP client **/app_browsers** Used for .browser files to declare what features a browser supports based upon the user agent header (this replaces //<;browserCaps>// in //machine.config//). **/app_themes** Used for CSS and .skin files for use when applying a theme to a page. **/app_globalresources** Used for shared resource (resx) files and other localizable resources (also raw images can be placed here). **/app_localresources** Used for page, master and sitemap specific localizable resources (also raw images can be placed here)