许多错误-它们是什么以及如何解决
本文关键字:何解决 解决 错误 是什么 许多 | 更新日期: 2023-09-27 17:51:21
我有很多例外,如:
Error 95 The type or namespace name 'Web' does not exist in the namespace 'MyProj.System' (are you missing an assembly reference?) C:'Projects'Solution'MyProj'Web References'GeneralServices'Reference.cs 269 24 MyProj
Error 108 The type or namespace name 'Uri' does not exist in the namespace 'MyProj
.System' (are you missing an assembly reference?) C:'Projects'Solution'MyProj'Web References'GeneralServices'Reference.cs 322 43 MyProj
我唯一需要做的就是添加WCF服务(我在同一个项目中已经有了web服务)。我如何解决这些错误??他们是从哪里来的?
由于某些原因,我不知道人们关闭了这个问题,因为他们认为这是一个假问题。所以这不是一个假问题,如果他们需要更多的信息-他们可以具体问,我会提供。我知道这看起来是一个很普通的问题,但我真的不知道该添加什么信息。
这肯定不是一个参考问题。它发生在我添加wcf服务之后,所有错误都发生在我添加外部web服务后生成的Reference.cs文件中。
* 编辑 *
这是我添加的WCF服务的代码。我不确定这就是问题所在。
using System.Collections.Generic;
using System.Linq;
using MyProj.Domain.Business.Entities.System.Calls;
using MyProj.Domain.Business.EntitiesRepository.System.Calls;
using StructureMap;
namespace MyProj.System.WcfServices
{
public class SystemService : MyProjService, ISystemService
{
#region Calls
public Reason[] GetCallReasons()
{
IReasonRepository rep =
ObjectFactory.GetInstance<IReasonRepository>();
return rep.GetReasonsList().ToArray();
}
public Call InsertCall(long reasonId, string phoneNumber, string description)
{
ICallRepository rep =
ObjectFactory.GetInstance<ICallRepository>();
return rep.Insert(User.UserCompany.CompanyId, reasonId, phoneNumber, description);
}
public void UpdateCall(long callId, long reasonId, string phoneNumber, string description)
{
ICallRepository rep =
ObjectFactory.GetInstance<ICallRepository>();
rep.Update(User.UserCompany.CompanyId, callId, reasonId, phoneNumber,
description);
}
public void CloseCall(long callId)
{
ICallRepository rep =
ObjectFactory.GetInstance<ICallRepository>();
rep.CloseCall(User.UserCompany.CompanyId, callId);
}
public IList<CallsListItem> GetCallsList(bool? isClosed)
{
ICallRepository rep =
ObjectFactory.GetInstance<ICallRepository>();
return rep.GetCallsList(User.UserCompany.CompanyId, isClosed);
}
public Call GetCall(long callId)
{
ICallRepository rep =
ObjectFactory.GetInstance<ICallRepository>();
return rep.GetCall(User.UserCompany.CompanyId, callId);
}
#endregion
}
}
* 另一个编辑 *
我记得我也从这里安装了ef4.1。
* 另一个另一个编辑 *
我想我弄明白了!但我仍然不知道如何解决这个问题…
产生错误的文件有using System
、using System.Web
等等。我的项目我也有系统文件夹和WCF服务是在MyProj/System/WcfServices/SystemService.svc
。因此,它创建了一个名称空间为MyProj.System.WcfServices
的cs文件。此命名空间与系统命名空间混淆!因为创建错误的文件是由系统生成的(它是为web参考创建的References.cs文件),我无法编辑该文件。
一个解决方案是停止将文件夹命名为"System"!
另一个解决方案是限定系统名称空间:using global::System;
using global::System.Web.UI;
等。
这意味着您缺少一个程序集引用。例如,您在代码中引用的类型尚未向项目添加引用。听起来你需要添加一个对System的引用。右键单击你的项目,选择"添加参考"。
如果这不起作用,那么请确保您的项目是针对完整的。net框架而不是"客户端配置文件"-通过右键单击您的项目并选择"属性",然后在"应用程序"选项卡上设置"目标框架"。
即使看起来引用是正确添加的,也许有一个。net版本不匹配?. net 4客户端不支持所有的WCF特性,所以这可能是问题所在。有时智能感知和编译器并不完全一致,所以它可能看起来一切正常,但实际上构建失败。
您可以通过右键单击项目->"属性"来检查您的项目设置为哪个版本。转到"Application"选项卡,选择"Target framework"。