asp.Net 2005 "Could not load type" - deployment

Although I have seen dozens of forum questions relating to "Could not load type", none of the advice in them seemed to apply to my situation.
I wrote a new web application using aspx.net VB 2005. It is tiny, with just 2 pages, 1 of which has no code-behind. It runs aok in the IDE but when I installed it on my pc (and also when installed on the production server), and tried to run it this error came up:
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'EMTTrainingDatabase.pageMain'.
Source Error:
Line 1: <%# Page Language="vb" AutoEventWireup="false" CodeBehind="pageMain.aspx.vb" Inherits="EMTTrainingDatabase.pageMain" %>
Line 2:
Line 3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Source File: /EMTTrainingDatabase/pageMain.aspx Line: 1
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082
I checked the web site properties in IIS and the correct ASP.net version is specified: 2.0.50727.
I checked the virtual path and it looks correct too: /EMTTrainingDatabase
pageMain source code header looks like:
<%# Page Language="vb" AutoEventWireup="false" CodeBehind="pageMain.aspx.vb" Inherits="EMTTrainingDatabase.pageMain" %>
Some posters suggest that the bin is in the wrong folder or the bin doesn't contain the rigt contents. I don't have enough knowledge to evaulate this.
Can someone help?
Thank you.

I was able to find the answer to my problem:
When I added content to the deployment project, the dll was not in the bin. When I dragged it into the bin, the program worked.

For the benefit of others who might have had the same error, it can also come due to the ASP.NET runtime being unable to locate the /bin folder.
For this, make sure you have marked the virtual directory containing your application as a web application root.
e.g. In godaddy web hosting you should mark Set Application Root to the folder/sub-folder containing your application. (Making it a virtual directory is not enough).
Hope it will help someone.

Just replace the CodeBehind attribute with CodeFile

Related

NuGet.Server returns 404 error

I have followed the instructions to setup and host my own NuGet feed. I am running the web application on a Windows 2012 (IIS 8.5) box.
I build and run the solution and get the default.aspx page...
Which says "You are running NuGet.Server v2.8.60318.667"
and "Click here to view your packages".
When I click on the "here" link I get a "404 - File or directory not found." error.
I can successfully run a nuget.exe push command to put packages on
the Nuget server; however I get a 404 error when attempting to run
nugget.exe list command.
I have restarted IIS and the server
I have rebuilt the NuGet.Server web application from scratch.
I have tried hosting the NuGet.Server on a Windows 7 box with no
success.
The Web.Config has the following entry
<modules runAllManagedModulesForAllRequests="true">
The web.config also has an entry to register the .nupkg extension as mimeType="application/zip"
It seems like the url routing is not working, but I can't seem to pin down what I am doing wrong. Something is preventing the odata feed from working.
I know there are great 3rd party implementations of NuGet server, but I would really like to just get the free one working and it seems like it should be so easy. Any thoughts or troubleshooting tips would be appreciated.
If you create a new empty VB project you will also get a 404 (in Packages and browsing using NuGet Manager).
You appear to have to create the project as C# and it works as advertised!
And yet the source code appears identical :(
This answer expands the comment left on AndrewD's answer.
Like him, I started out with a VB project and I ended up in the same camp as OP. What worked for me however was converting all C# code into VB, within these two files.
Default.aspx
NuGetODataConfig.cs (replaced this one with a new file: NuGetODataConfig.vb)
For the sake of completion, I'm including the post-converted contents of these files below.
Default.aspx
<%# Page Language="VB" %>
<%# Import Namespace="NuGet.Server" %>
<%# Import Namespace="NuGet.Server.App_Start" %>
<%# Import Namespace="NuGet.Server.Infrastructure" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>NuGet Private Repository</title>
<style>
body { font-family: Calibri; }
</style>
</head>
<body>
<div>
<h2>You are running NuGet.Server v<%= Gettype(NuGetODataConfig).Assembly.GetName().Version %></h2>
<p>
Click here to view your packages.
</p>
<fieldset style="width:800px">
<legend><strong>Repository URLs</strong></legend>
In the package manager settings, add the following URL to the list of
Package Sources:
<blockquote>
<strong><%= Helpers.GetRepositoryUrl(Request.Url, Request.ApplicationPath) %></strong>
</blockquote>
<% if string.IsNullOrEmpty(ConfigurationManager.AppSettings("apiKey")) Then %>
To enable pushing packages to this feed using the NuGet command line tool (nuget.exe), set the <code>apiKey</code> appSetting in web.config.
<% else %>
Use the command below to push packages to this feed using the NuGet command line tool (nuget.exe).
<blockquote>
<strong>nuget.exe push {package file} {apikey} -Source <%= Helpers.GetPushUrl(Request.Url, Request.ApplicationPath) %></strong>
</blockquote>
<% end if %>
</fieldset>
<% if Request.IsLocal Then %>
<fieldset style="width:800px">
<legend><strong>Adding packages</strong></legend>
To add packages to the feed put package files (.nupkg files) in the folder
<code><% = PackageUtility.PackagePhysicalPath %></code><br/><br/>
Click here to clear the package cache.
</fieldset>
<% End If %>
</div>
</body>
</html>
NuGetODataConfig.vb
Imports System.Net.Http
Imports System.Web.Http
Imports System.Web.Http.ExceptionHandling
Imports System.Web.Http.Routing
Imports NuGet.Server
Imports NuGet.Server.Infrastructure
Imports NuGet.Server.V2
<Assembly: WebActivatorEx.PreApplicationStartMethod(GetType(MGINuGet.App_Start.NuGetODataConfig), "Start")>
Namespace MGINuGet.App_Start
Public Module NuGetODataConfig
Public Sub Start()
ServiceResolver.SetServiceResolver(New DefaultServiceResolver())
Dim config As HttpConfiguration = GlobalConfiguration.Configuration
NuGetV2WebApiEnabler.UseNuGetV2WebApiFeed(config, "NuGetDefault", "nuget", "PackagesOData")
config.Services.Replace(GetType(IExceptionLogger), New TraceExceptionLogger())
Trace.Listeners.Add(New TextWriterTraceListener(System.Web.Hosting.HostingEnvironment.MapPath("~/NuGet.Server.log")))
Trace.AutoFlush = True
config.Routes.MapHttpRoute(name:="NuGetDefault_ClearCache",
routeTemplate:="nuget/clear-cache",
defaults:=New With {Key .controller = "PackagesOData", Key .action = "ClearCache"},
constraints:=New With {Key .httpMethod = New HttpMethodConstraint(HttpMethod.Get)})
End Sub
End Module
End Namespace
If you name you project Nuget.Server, since your generated dll will be Nuget.Server.dll it will not work because Nuget.Server.dll is the actual dll for the server.
Rename your Assembly name to something else.
FWIW, I made the mistake of trying to fetch the packages from http://[server]/nuget/Packages and got the same error. Removing /Packages from the end of the source URL was the answer, so http://[server]/nuget is the correct url.
I have one answer not mentioned in either of the posts I've found. If you name your project Nuget.Server, even though publishing will work in IIS, ninject will fail to set up the package list route because it will try to load the wrong DLL and error out.
Here are some other possible answers:
Possible Answers 1
Possible Answers 2
I was having this problem today. Actually what I need to do is this in Global.asax:
void Application_Start(object sender, EventArgs e)
{
NuGetRoutes.Start();
}
The NuGet.config file in either %APPDATA%\NuGet or $(SolutionDir).nuget may be referring to unexpected "active source" URLs. For example, the nuget.exe brought by the TFS build agent install might be aware of NuGet v2 protocol only while the URLs refer to v3 protocol. Or the custom NuGet server URL might be missing from NuGet.config.
I was having similar issue and I found a solution! I created a private nuget server following the instructions to create an empty ASP.NET project (I'm on VS2015) and then installing nuget.server (currently v2.11.3.0). I was able to run and see web page except I was not able to use "nuget.exe push" to upload packages. I got the dreaded 404 not found error.
I eventually cloned the nuget.server source code off github and ran that directly which worked fine!? I discovered my web.config was incorrect. For me the key line was
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,PUT,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
in the
<system.webServer>/<handlers>
section.
I suggest anyone having issues should go to github and compare web.config files.
BTW: The nuget.server install is supposed to replace your web.config. This may not have worked correctly for me.
I noticed that you get the 404 error when you try to upload fairly large nuget packages. I upped the maxAllowedContentLength and it helped.
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="31457280"/>
</requestFiltering>
</security>
</system.webServer>
I had this problem with a clean Visual Studio 2017 Web project.
Recreating from Visual Studio 2015 and targeting .NET 4.6.1 sorted it out

Zend A 404 error occurred Page not found

I am new to zend frame work. I am in the process of learning this, in fact at the very beginning of this. My problem is that I download the zend studio and try to run the zend application by following a tutorial on net but the when I run the code it said that
'A 404 error occurred
Page not found The requested URL could not be matched by routing '.
I googled man time and applied all the possible solutions on it but all in vein. Kindly help me in this regard.
To Do list:
check your server folder permission -> 777 for the development
check .htaccess file in the public folder, there is a good example .htaccess files for Zend in here stackoverflow
check your php configuration for model rewrite, unlikely sometimes it does not install
check your apache site-enable file for model rewrite and allowaccess
you need to google them out, but that is it, after you finish your first one , all other project just copy from the first one

GWT project unable to load **.nocache.js in the default html file

Currently I am developing a GWT project by using GWT 2.4.0 in eclipse 3.7. I deploy the app inside Tomcat 7. It run perfectly for the past 2 months.
However, now I am running into a problem which I unable to trace the problem. Here is the source code for "welcomeGWT.html".
<!doctype html>
<!--
The DOCTYPE declaration above will set the browser's rendering engine into
"Standards Mode". Replacing this declaration with a "Quirks Mode" doctype may
lead to some differences in layout.
-->
<html>
<head>
<meta name='gwt:module' content='com.haircare101.cesapp.Main=com.haircare101.cesapp.Main'>
<title>101 HairCare: Customer Excellence System</title>
</head>
<body>
<script type="text/javascript" src="com.haircare101.cesapp.Main/com.haircare101.cesapp.Main.nocache.js"></script>
</body>
</html>
As the tomcat started, I type the corresponding URL into browser and it shows me this page with no error (no error shows inside Tomcat log files). But it unable to direct me to the specified GWT Main Entry Point (I saw this source file when I can "View Source" of browser).
** I have no compilation error, no deployment error or no runtime error.
Can anybody tells me the reason why it stuck in this page? Many thanks and appreciate!
Cheers,
Ryan C.
Besides using google chrome, enable firebug to debug your javascript and find out what's wrong. Apparently you have an array acess problem.
Most probably, it is in your GWT entry point and not in javascript (don't forget that all the client package code is transformed into javascript)

SharePoint critical error

This page has encountered a critical error. Contact your system administrator if this problem persists.
Line 1: <%# Page Inherits="Microsoft.SharePoint.Publishing.TemplateRedirectionPage,Microsoft.SharePoint.Publishing,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %> <%# Reference VirtualPath="~TemplatePageUrl" %>; <%# Reference VirtualPath="~masterurl/custom.master" %> <html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><head>
Line 2: <!--[if gte mso 9]><xml>
Line 3: <mso:CustomDocumentProperties>
MOSS is occasionally throwing this error as soon as I log on and attempt to access any page. I have discovered a very strange workaround: if I take a fresh web.config from an empty web application and copy over the web.config of the problematic web.config, and then paste in all the special configuration changes I need, it works. However, if I save a backup of a working web.config and then revert to it when the error appears, it doesn't seem to resolve it. I have to start over from a fresh one. It almost seems to me like a corruption issue in the web.config, and it generally appears after I make a change somewhere else on the server, on at least one occasion it happened without any apparent update to the timestamp of the web.config. Furthermore, there is no corruption evident in the file, even if I diff against a fresh web.config.
For anyone who may be having a similar issue, I found the problem. I guess when I originally set up the web application in SharePoint Central Administration I used a particular directory, but then changed it in IIS. Now when I make certain changes in central admin, SharePoint tries to look for the application/web.config in the original directory. In order to fix it, I have to go back in to IIS and update the home directory of the web site to the new directory.

How to stop Eclipse IDE from trying to download DTDs for validation?

I have a XHTML-file using the following doctype-definition:
`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`
Eclipse is trying to validate the file by using the referenced dtd file, which results in this error:
ParseException: Error validating the model: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
The reason is an intended error response, like described here:
W3C's Excessive DTD Traffic
So I tried to stop Eclipse from trying to download the file by disabling HTML validation, but this didn't help.
How can I get rid of the error message and stop Eclipse from trying to download the DTD-file?
edit: Eclipse-version is Galileo 3.5
Which Eclipse version do you use? In 3.5 (Galileo), as default, the DTD for HTML/XHTML will be stored as local file and you won't get such problem.
You can also deactivate the XML validation, but not only the DTD check will be deactivated, but all XML validation.
EDIT: check the Preferences -> XML -> XML Catalog and check if the file has already referenced to local file. If not, you can add it yourself