在构建时缺少指令或汇编

时间:2014-07-18 13:32:45

标签: c#

我正在构建一个涉及多个项目的解决方案。 我正在使用几个使用添加对它们的引用,并且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"; }
        }
    }
}

这对我来说很正常,你能看到什么吗?

1 个答案:

答案 0 :(得分:1)

如果:

  • 您添加了所有必需的项目参考
  • 您添加了所有必需的using XXX
  • Visual Studio允许您编写类型/命名空间,而不会告诉它它不存在(语法高亮可以)
  • 只有在编译项目后才会失败

然后检查所有项目是否针对同一平台(或至少目标平台兼容)。例如,不要从针对.Net 4.0(客户端配置文件)的程序集中引用以.Net 4.0(完整版)为目标的程序集。