我无法在C#中看到另一个名称空间的引用类

时间:2014-01-03 16:49:49

标签: c# .net reference namespaces project

我有两个项目:

  • ConstrainedScheduleInterfaces
  • ConstrainedSchedule有一个文件夹(Testing),我的类需要引用,这里是代码:

Setting.Tests.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 
using NUnit.Framework;
using Ninject;
using ConstrainedScheduleInterfaces;

namespace ConstrainedSchedule.Testing
{
    internal static class Configuration
    {...........

我添加了对ConstrainedSchedule项目的引用,但是“使用ConstrainedScheduleInterfaces;”未标记为红色。 这两个项目都有目标框架设置.NET Framework 4.5 有帮助吗?感谢

4 个答案:

答案 0 :(得分:9)

项目是否包含对其他项目的引用?您不能只添加命名空间,项目本身需要对具有该命名空间的其他项目的程序集引用。

在Visual Studio中,打开“解决方案资源管理器”。右键单击ConstrainedSchedule项目,然后选择“添加引用”行。在对话框中,选择项目引用(根据Visual Studio的版本,它可能是一个选项卡或一些其他界面,指示项目作为解决方案的一部分)。选择ConstrainedScheduleInterfaces项目并添加参考。

更多信息here

答案 1 :(得分:2)

对于有这个问题的其他人,已经添加了对dll的引用,并确保在顶部有正确的命名空间,我发现了另一件可能导致此问题的事情。

在visual studio中选择 - 单击该文件,然后选择properties。在属性的高级部分中,查找Build Action。如果它已经没有,请将其更改为compile,并尝试重新构建。

答案 2 :(得分:0)

由于命名冲突,我在重命名项目和名称空间后遇到了这个问题。

基本上,我的主项目引用了我创建的名为Common的项目,但是随后我需要引用另一个开发人员编写的另一个名为Common的项目。将项目重命名为“ SpecificCommon”后,我可以在主项目中同时引用“ Common”和“ SpecificCommon”。但是,所有对SpecificCommon名称空间的引用现在都已损坏。

起初,我认为这是名称空间重构的问题,但事实证明这是因为SpecificCommon和Common仍具有相同的程序集名称(Common.dll)。更改SpecificCommon属性中的程序集名称并重新构建对我来说解决了这个问题。

答案 3 :(得分:0)

可能还有另一个原因:不同的目标框架。 我的主项目有“ .NET Framework 4.7.2”,而引用的项目(从另一个解决方案链接到)有“ .NET Framework 4.5.1”。

选择项目属性并更改目标框架。