Microsoft Visual Studio 2017不会自动完成新添加的NuGet包

时间:2018-01-19 16:27:51

标签: c# nuget visual-studio-2017 nuget-package

我最近在我的项目中添加了新的NuGet包(和引用),但是当我开始输入我的代码时,VS将不会自动完成,甚至不会为我提供现在应该可用的类。所以,如果我想从新添加的包中引用一些类,我必须手动输入'using NewlyAddedPackage ...'。这很烦人,我无法继续这样的工作。任何建议为什么会发生这种情况,我该如何解决?

要清楚,我为FluentNHibernate安装了NuGet包,当我尝试编写如下代码时:

namespace ConsoleApp1
{
    public class Customer
    {
        public virtual string Name { get; set; }
    }

    public class CustomerMap : ClassMap<Customer>
    {
         ...
    }
}

当我开始输入ClassMap时... autocomplete将不会从FluentNHibernate.Mapping命名空间提供ClassMap。 NuGet包已正确安装在项目中,我可以在Project&gt; Refferences列表中看到它。请帮忙。

1 个答案:

答案 0 :(得分:2)

完成列表是Visual C# IntelliSense功能的一部分,它运行正常,并不完全符合您的预期。

当前文件中没有using指令,完成列表为您提供global命名空间中声明的所有内容。您可以使用完全限定名称global::FluentNHibernate.Mapping.ClassMap访问新添加的类型,该名称大多数时间与FluentNHibernate.Mapping.ClassMap相同。有关例外,请参阅MSDN上的Use the Global Namespace Alias文章。为了简化操作using指令通常用于从某个命名空间导入类型,因此您不必完全限定该类型的名称。 Visual Studio不会自动添加using指令。您必须手动添加它们或使用Visual Studio的Quick Actions功能(灯泡,默认组合键是 CTRL + ): Quick Action usage example