许多错误-它们是什么以及如何解决

本文关键字:何解决 解决 错误 是什么 许多 | 更新日期: 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 Systemusing 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"。