我正在尝试构建一个较旧的项目。该应用程序有两个版本,“v2”版本位于父级的子文件夹中。
父级的命名空间是 BackOfficeAPI。
子应用程序的命名空间是BackOfficeAPI2。
如果我完全删除 v2 文件夹,应用程序就会构建。如果我将其添加回来,该文件夹中的所有内容都会抛出错误 - 每个类,每个页面上的每个小部件。
我已经验证 v2 文件夹中的每个文件(类、Web 表单)都指定了命名空间 BackOfficeAPI2,并且我已经检查了父级中的所有文件都指定了 BackOfficeAPI。
v2 应用程序中类文件的顶部示例:
namespace BackOfficeAPI2
{
class SqlServer : DataObject
(rest of file omitted)
错误:找不到类型或命名空间“DataObject”
但是..
namespace BackOfficeAPI2 {
class DataObject
它确实存在。这似乎是子应用程序和父应用程序之间的命名空间冲突,但我找不到它。
这个应用程序曾经像这样运行良好,我不知道源代码有任何变化。
如果我尝试,上面:
namespace BackOfficeAPI2 {
class SqlServer : BackOfficeAPI2.DataObject
在键入 .在 BackOfficeAPI2 之后,智能感知唯一可以找到的是包含我正在编辑的代码的源文件本身,而 BackOfficeAPI2 中没有其他内容。它看不到“BackOfficeAPI2.DataObject”。
我需要做什么才能说服 Visual Studio 2017 解析 BackOfficeAPI2 命名空间并构建项目?
请参阅类无法在同一命名空间中找到另一个类 确保 v2 文件夹中的文件的“构建操作”正确设置为“编译”:
记得关闭VS2017,设置Build Action后重新打开,清理并重建项目