【发布时间】:2014-02-27 17:28:44
【问题描述】:
我正在尝试将项目从 VS2010 迁移到 VS2012,除了一些小问题之外,我遇到的最大问题是有一个不会继承接口的 public class。
界面:
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 是纯黑色文本,这对我来说是这样的即使它在同一个命名空间中,它也找不到接口。虽然这不会导致这两个特定文件的任何构建错误,但它会导致单元测试的代码模块出现错误:
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 年之间的属性是否存在差异,并确保它们完全相同。
谢谢,
尼克
【问题讨论】:
-
COMPANY.PROJECT.HL7.WebService是否正确构建?如果没有,其他项目将无法使用它,您将看到您遇到的错误。 -
如果我在单元测试中注释掉发生构建错误的代码行,该项目将成功构建,但是,
IAssessmentService仍然是黑色文本。
标签: c# visual-studio-2010 visual-studio-2012 inheritance interface