2

我试图从VS2010迁移项目到VS2012,除了一些小的障碍,我遇到的最大问题是有一个public class将不继承一个接口。不能从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,该项目顺利完成编译和AssessmentServiceIAssessmentService都出现在淡蓝色的文字,但在VS2012 AssessmentService是浅蓝色,IAssessmentService是纯黑色文本,对我来说,即使它在相同的命名空间中,它也找不到接口。虽然这不会导致在这两个特殊的文件生成过程中出错,这是导致错误代码模块上的一个单元测试:

Error 9 The type or namespace name 'AssessmentService' does not exist in the namespace 'COMPANY.PROJECT.HL7.WebService' (are you missing an assembly reference?)'

当我看着那里,并发生错误的代码模块,它是using COMPANY.PROJECT.HL7.WebService;,以防万一有人问这个问题。

如果有人能够告诉我为什么界面可以在VS2010中继承,但不是在2012年,那将是非常优秀的。此外,我已经检查了2010年至2012年间任何差异的房产,并确保它们完全相同。

感谢,

尼克

+0

'COMPANY.PROJECT.HL7.WebService'构建是否正确?如果没有,其他项目将不会提取它,你会看到你得到的错误。 – Tim

+0

但是,如果我在单元测试中注释出了构建错误发生的代码行,那么项目将成功构建,但“IAssessmentService”仍然保留为黑色文本。 – NickD

回答

1

构建一个第一包含接口组装。假设它的构建正常,请确保在您使用它的项目中有该组件的引用。

您还可以从解决方案属性对话框的项目依赖关系选项卡中检查项目的构建顺序。

+0

吐出错误的单元测试确实包含对“COMPANY.PROJECT.HL7.WebService”的引用。如我所说。这是因为'IAssessementService'接口没有被继承,即使它在类中的同一个命名空间中试图使用它。 – NickD