新的 (.NET Core) C++/CLI 项目在定义和实现分离时存在编译问题

New (.NET Core) C++/CLI project has compile issues when definition and implementation are split

我使用 Visual Studio 2019 创建了一个 "CLR Empty Project (.Net Core)" 项目。

我只是使用 'add class' 菜单选项创建了一个新的 class,它生成了这个 class。 我在 header:

中添加了名为 Test 的函数

using namespace System;

public ref class Class1 {
    // TODO: Add your methods for this class here.

    void Test();
};

然后使用 visual studio 的生成实现选项在 .cpp 文件中创建了这个函数定义:

#include "EngineEditorLayer.h"

#include "pch.h"

void Class1::Test() { throw gcnew System::NotImplementedException(); }

编译时出现这个错误:

error C2653: 'Class1': is not a class or namespace name

我只能通过将实现移至 header 文件来解决此错误。

我错过了什么吗?是否需要更改设置才能启用 .cpp 编译? 目前是否存在阻止我执行此操作的编译器错误?

评论中的 Hans Passant 是正确的。必须首先包含 pch.h。

不幸的是,我从未收到警告。这是我的输出日志:

1>------ Build started: Project: EngineEditorLayer, Configuration: Debug x64 ------
1>EngineEditorLayer.cpp
1>E:\Other Projects\PixEngine\EngineEditorLayer\EngineEditorLayer.cpp(7,18): error C2653: 'Class1': is not a class or namespace name
1>Done building project "EngineEditorLayer.vcxproj" -- FAILED.