2014-07-18 3 views
0

여러 프로젝트를 참조하는 솔루션을 구축 중입니다. 나는 몇 using이 그들에 대한 참조를 추가 해요, 그리고 VS는 작성 중에 문제를 표시하지 않지만, 내가 빌드 할 때이 오류가 얻을 :빌드시 지시문 또는 어셈블리 누락시

Error 3 The type or namespace name 'OrderRules' could not be found (are you missing a using directive or an assembly reference?) 

이 오류가 있었다 클래스 중 하나입니다 일어납니다 :

using OrderRules.Interface; 

namespace OrderRule.Quantity 
{ 
    public class MaxStarshipRule : OrderRules.Interface.IOrderRule 
    { 
     public OrderRules.Interface.OrderRuleResult CheckRule(OrderTaker.SharedObjects.Order order) 
     { 
      var passed = true; 
      var message = string.Empty; 

      foreach (var item in order.OrderItems) 
      { 
       if (item.ProductItem.ProductName == "Starship" && item.Quantity > 1) 
       { 
        passed = false; 
        message = "Maximum of 1 starship per order"; 
       } 
      } 
      return new OrderRuleResult(passed, message); 
     } 

     public string RuleName 
     { 
      get { return "Maximum Starship Rule"; } 
     } 
    } 
} 

나에게 정상적으로 보입니다.

+0

IDE를 다시 시작하면 잘못된 코드 조각에 밑줄이 그어집니다. – Tarec

+0

내가 그랬지 만 그들은 밑줄이 아니다 – MaPi

답변

1

경우 :

  • 하면 추가 된 모든 필요한 using XXX
  • Visual Studio를 사용하면 존재하지 않는 당신을 말하지 않고 당신의 유형/네임 스페이스를 작성할 수 있습니다 (필요한 모든 프로젝트에 참조 추가 구문 강조는 프로젝트를 컴파일하면
  • 만 실패) OK입니다

그런 다음 모든 프로젝트가 동일한 플랫폼을 대상으로하고 있는지 확인하십시오 (또는 적어도 대상 플랫폼은 호환 가능). 예를 들어 .Net 4.0 (클라이언트 프로필)을 대상으로하는 어셈블리에서 .Net 4.0 (전체)을 대상으로하는 어셈블리를 참조하지 마십시오.

+0

프로젝트 중 하나는 .Net 4.0을 목표로하고 다른 모든 프로젝트는 4.5를 목표로했다. – MaPi

관련 문제