是否有指令或其他方式指示 VS 在智能感知中使用某个框架或语言版本?

问题描述 投票:0回答:1

我偶尔需要在 Visual Studio 中编辑与项目或解决方案文件无关的 .vb 文件。 VS 似乎采用了相当旧的语言和 .net 框架版本。

我可以在 Visual Studio 中使用任何编译器指令或其他设置来强制它将文件视为更新版本的 VB 和 .net 框架吗?

vb.net visual-studio-2013 compiler-directives
1个回答
2
投票

VB.NET 项目默认获得相当多的引用和导入的命名空间。这可能并不是因为 Visual Studio 采用了该语言的旧版本,而是当在包含以下内容的项目外部打开 .vb 文件时,看不到对

System.Collections
System.Collections.Generic
System.Linq
等的引用那些默认导入的命名空间。

在项目外部打开的 C# 文件中也存在相同的行为。对于没有 Visual Studio 可以看到的项目引用的库的功能,您无法获得智能感知。除了创建一个空项目并将有问题的文件添加到该项目之外,我不确定您会采取什么措施来解决这个问题。

.net框架版本也是一个项目设置,因此这也可能是您问题的一部分。如果有一个解决方案可以在没有项目文件的情况下为 Visual Studio 提供这些设置,那么比我更有经验的人需要加入进来。

编辑:

String.IsNullOrWhiteSpace()
是在
System
命名空间中定义的,因此 Visual Studio 需要对
System.dll
程序集的项目引用和命名空间导入才能看到它。

看起来 Visual Studio 为项目外部的文件提供的唯一功能就是语法突出显示。当单独编辑 .vb 文件时,即使对于文件本身中定义的类,我也根本得不到任何智能感知。

© www.soinside.com 2019 - 2024. All rights reserved.