C# can';将项目从VS2010迁移到VS2012后,t继承接口

C# can';将项目从VS2010迁移到VS2012后,t继承接口,c#,visual-studio-2010,visual-studio-2012,inheritance,interface,C#,Visual Studio 2010,Visual Studio 2012,Inheritance,Interface,我正在尝试将一个项目从VS2010迁移到VS2012,除了一些小问题之外,我遇到的最大问题是有一个公共类,它不会继承接口 接口: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; usin

我正在尝试将一个项目从VS2010迁移到VS2012,除了一些小问题之外,我遇到的最大问题是有一个
公共类
,它不会继承接口

接口:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

using COMPANY.PROJECT.HL7.ExceptionManagement;
using COMPANY.PROJECT.HL7.Common;

namespace COMPANY.PROJECT.HL7.WebService
{
    [ServiceContract(Namespace = "http://class.ified/Services")]
    [XmlSerializerFormat]

    public interface IAssessmentService
    {
这是尝试继承接口的类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Xml.Serialization;
using COMPANY.PROJECT.HL7.ExceptionManagement;
using COMPANY.PROJECT.HL7.Common;
using COMPANY.Common.Logging;
using System.Web.Services.Protocols;
using System.Text;
using System.Xml;

using System.ServiceModel;
using System.ServiceModel.Web;

using COMPANY.PROJECT.BDO;
using COMPANY.PROJECT.Common;
using COMPANY.PROJECT.BDO.Security;
using COMPANY.PROJECT.HL7.SurveyAdminServiceReference;
using COMPANY.PROJECT.HL7.PatientServiceReference;
using COMPANY.PROJECT.Common.Web.Extensions;
using COMPANY.PROJECT.BDO.ServiceResponse;
using COMPANY.PROJECT.BDO.Enrollment;

using System.Configuration;
using System.ServiceModel.Channels;

namespace COMPANY.PROJECT.HL7.WebService
{
    public class AssessmentService : IAssessmentService
    {
在VS2010中,项目编译没有错误,
AssessmentService
IAssessmentService
都以浅蓝色文本显示,但是在VS2012中,
AssessmentService
是浅蓝色的,
IAssessmentService
是纯黑色的文本,我认为它无法找到接口,即使它位于同一名称空间中。虽然这不会在这两个特定文件上导致任何生成错误,但会在单元测试的代码模块上导致错误:

错误9命名空间“COMPANY.PROJECT.HL7.WebService”(是否缺少程序集引用?)中不存在类型或命名空间名称“AssessmentService”

当我查看发生构建错误的代码模块时,它是使用COMPANY.PROJECT.HL7.WebService的
以防万一有人会问这个问题

如果有人能告诉我为什么该接口可以在VS2010中继承,但不能在2012年继承,那就太好了。此外,我已经检查了2010年和2012年之间的任何差异,并确保它们完全相同

谢谢


Nick

首先构建包含接口的程序集。假设build ok,确保在使用该程序集的项目中有对该程序集的引用


您还可以从“解决方案属性”对话框的“项目依赖项”选项卡中检查项目的生成顺序。

是否正确生成
COMPANY.project.HL7.WebService
?如果不这样做,其他项目将不会选择它,并且您将看到您得到的错误。但是,如果我在单元测试中注释掉发生生成错误的代码行,那么项目将成功生成,
IAssessmentService
仍为黑色文本。指出错误的单元测试确实包含对
COMPANY.PROJECT.HL7.WebService
的引用。正如我提到的。这是因为
iassementservice
接口没有被继承,即使它在试图使用它的类的同一命名空间中。