我有一个项目正在接收“类或命名空间''在类或命名空间中不存在''”错误。我在这里看到了很多解决方案,但我无法解决我的问题。
我有一个包含2个项目的解决方案,Web.Frameworks.Database和Web.Reports.OrderReporting。 我试图在Reports.OrderReporting中引用Frameworks.Database项目。 我还确认两个项目都在编译到同一个框架(.NET Framework 4.5) 更新:我已经添加了对项目的引用(在解决方案资源管理器中)。
目前,Frameworks.Database项目中只有一个.cs文件,其中没有多少,它看起来像这样:
using System;
using System.Data;
using System.Web;
using System.Data.SqlClient;
namespace Web.Frameworks.Database
{
public class AccessDB : IHttpModule
{
/// <summary>
/// You will need to configure this module in the Web.config file of your
/// web and register it with IIS before being able to use it. For more information
/// see the following link: http://go.microsoft.com/?linkid=8101007
/// </summary>
#region IHttpModule Members
public void Dispose()
{
//clean-up code here.
}
public void Init(HttpApplication context)
{
// Below is an example of how you can handle LogRequest event and provide
// custom logging implementation for it
context.LogRequest += new EventHandler(OnLogRequest);
}
public void OnLogRequest(Object source, EventArgs e)
{
//custom logging logic can go here
}
#endregion
public string ConnectionString;
public string DumbLittleMethod()
{
return "This is my oh so fancy string.";
}...
如果我通过调试器(Visual Studio中的F5)运行此代码,一切正常。但是,如果我构建我的解决方案,然后通过Internet Explorer访问该页面,那就是我收到错误 - 对于第11行。
Line 9: using System.Data;
Line 10: using System.Data.SqlClient;
Line 11: using Web.Frameworks.Database;
Line 12:
任何建议或提示将不胜感激。我已经花了很多时间阅读类似的问题,遗憾的是没有成功。谢谢!
答案 0 :(得分:4)
我已经解决了这个问题。
真正的问题是我的IIS中的虚拟目录没有指向正确的文件夹,因此页面找不到dll(在我的项目中正确引用)。
我之前遇到过"Parser Error Message: Could not load type"
错误,在这一行:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Orders.aspx.cs" Inherits="Web.Reports.OrderReports.Orders" %>
但我思考我通过将“CodeBehind”更改为“CodeFile”(如另一个网站上关于Parser错误消息的另一个线程中的建议)解决了该问题。遗憾的是,这是一个误导性的提示,因为它只是使代码在运行时而不是编译时编译。
我终于通过在一个全新的解决方案/项目中重新启动了一个'Hello World'页面,再次遇到Parser Error,并且一旦我正确修复它(通过修复我的虚拟目录),我就可以了参考dll和其他项目。
感谢那些观看和评论过的人 - 感谢您的光临。