I don't know if you guys have face the same problem as mine.
When I place my compiled web app inside wwwroot, everything works fine.
Suppose my compiled web app has directories
bin, view (contains aspx pages and master page file) then web config and packages.config files.
Now if I place these files and folders just inside my wwwroot directory C:\inetpub\wwwroot everything works fine. I can browse my web application.
But when I put these files and folders inside one common directory say Project such that now the file path become C:\inetpub\wwwroot\Project
Now I get issues like
Parser Error Message: Could not load type 'Project.view.AdminMaster'. error with pre compiled classes. Why is it so ?
Related
I've been working with webforms and recently started to work with mvc. With webforms, when we use to push to the qa/prod server, we alway copied over the files. leaving behind the .cs files, so just the .aspx, bin folder, along with associated js/css files would go.
with mvc, if we are copying the directory over from our pc (where we develop), what files are needed, do we need the .cshtml files for example? I just want to avoid having to push all the files if they are not needed.
They are definitely not all required. What you are going to want to do is setup a way to publish, this ranges from doing a "bin deploy" to feeding in ftp settings and using a "single click deploy" approach.
What it all boils down to though is this. You will need
A bin folder with every relevant .dll
A content folder with relevant images and css files
A script folder with relevant .js scripts
A views folder with nested folders for views with relevant .cshtml files
A .webconfig file in the views folder and also one at the very root
The packages.xml file at the very root
The global.asax file with markup pointing to the application starting in global.asax.cs
What this excludes is every single .cs file. These will all be composed into your projects .dll. So if you are developing FunWebApp, then all your c# will be rolled into FunWebApp.dll in your bin folder.
Use the Visual studio "Publish" option available on your UI Project. This will generates all the required files you neeeds includes, bin folder, Views folder(which will have the .cshtml files),Content folder,Script folder, Config file(web.config) etc.
Right click on your project and select "Publish". You will be shown a wizard where you can define what kind of publish you want. You have different options like FTP, File system etc.
You will not see the Controllers folder / Other class files because code inside that folder is compiled to your assembly which is in the Bin folder
I am working on a solution which has two projects in it. One is a virtual app which works in another. The first application is the panel and the second is the website. First application can be accessed with "localhost:10001/panel" and the second with "localhost:10001". You see, I created a virtual path for the first app to work under the second one in Visual Studio and they work great that way.
The problem I am having now is about the file uplaod system, "Blueimp's jQuery-File-Upload" plugin and as backend using "Backload". I must say that these work great on a standalone project. That's why I decided to continue the project using these.
But when it comes to a setup which I explained below, I cannot access the files I upload. I installed fileupload system in the panel project, which is accessed as "localhost:10001/panel" so when I leave the default web.config configuration for backload (default is "~/files"), all files are uploaded to the "localhost:10001/panel/files" path. And after the upload when I refresh the page, all uploaded file links are referencing "localhost:10001/files/" without the "panel" folder.
In BackLoad web.config notes how to change and use root upload folders are explained like that
filesRoot: // Root upload folder. If the value starts with '~/' (e.g. ~/files) the path is relative to the web root, otherwise set an absolute local path (e.g. d:/files) [Default: "~/Files"].
I understand that having "~/" at the beggining of a folder reference shows the project's root. But I can't figure out how to reference the upload folder, instead of the default "~/files", to upload and access all files from the second project's root. When I need to reference folder between these two projects I simple use "../", or "/" to access the second project's (site) root. But doing that in "filesRoot" attribute of BackLoad config settings, all file references are starting "///file....." and shows a local path in the computer.
I simply want to upload and access the files from the "localhost:10001/files" location when I upload files from the panel. Now, I cannot even use the "localhost:10001/panel/files" path because files are uploaded to "panel/files" folder, but are accessed from "files" folder with default settings.
BTW: I am using BackLoad's WebForms Example on this project, and this is a Web Forms project.
I ended up using Files folder as a temp folder. At the time of submit, I move the file which is uploaded in Files folder, to the folder of my need. And the problem is solved.
Thanks anyway...
I upload the website after publishing it, now I want to change a line of code in a class which resides in app_code folder. After changes I again publish the website and upload the new app_code.dll to replace the old one but its not working. The whole functionality of app_code is not working. Is there anybody to solve my problem? thanx in advance.
The App_Code folder will parse any source files you drop in there, e.g. MyClass.vb or MyClass.cs. If you are compiling classes into a DLL, you want to put the DLL file into the bin folder instead.
If the classes are contained in your project and have their build action set to compile, they will automatically be compiled into the web application's DLL when you run a build, and should update every time you publish the site as a publish automatically builds the project/solution.
I placed my AMFPHP folder inside my htmltemplate project folder, but now everytime i build it wants to 'refresh' the folder which takes forever. Is there a way to set it so that folder does not refresh each time? I put the AMFPHP folder in there so I can have a unique copy for my debug builds and leave the production build one alone.
I'm not sure what you mean by 'refresh'
The HTML-Template folder is just a template. During build all files/folders in the template folder are copied to the bin-debug (or bin-release) folder. Is this 'copy' the refresh your talking about?
If you don't want these files copied over every time; just put them in your bin-debug / bin-release folders directly instead of the template folder.
If your AMFPHP folder contains config files; and nothing else, then you probably don't need those files in the html-template, bin-debug, or bin-release folders. You can compile them into the SWF using the services compiler argument.
There is also a setting in the Flash Builder Project Properties that may help. Under Flex Compiler, uncheck 'copy non-embedded files to output folder'. However, I think this relates to files int he source directory; not the HTML Template directory.
Does any of this help?
I'm new # linq and can't find anywhere where it mentions if the dbml or other files are necessary to deploy with a website.
Just use the Publish command on the web site. It knows what needs to be deployed.
That's actually compiled into the dll generated for the site, so even if you deploy your site with all the files if you change any of the .cs or .vb code files directly on the deployed folder nothing changes, the only things that you can alter and change the behaviour of the website are the .aspx, .master, .css, .js (and some other non compiled files)
Notice that you deploy with the option "Only the Necessary files", those pages won't even go to the deploy directory.