尽管 SourceGenerator 显然工作正常,但我还是遇到了构建错误。示例代码:
namespace VisGit.ViewModels
{
public partial class MainViewModel: ObservableObject
{
[ObservableProperty]
string _exceptionMessageText = "Exception Text";
public MainViewModel()
{
ExceptionMessageText = "Test Change";
}
}
}
Intellisense 显示公共属性
ExceptionMessageText
已成功生成:
此外,源生成器似乎可以工作:
但是,我收到构建错误
The name 'ExceptionMessageText' does not exist in the current context
:
不知道我错了什么。我正在使用 .net Framework 4.8(这是问题吗?)。有什么想法吗?
我无法发表评论,因为我没有足够的声誉,但要记住的一件事是字段通常不用于数据绑定(我想这是您的目标,因为您正在使用
ObservableObject
。参考
关于评论中的问题,如果工具包支持 .NET Standard 2.0,它应该运行 .NET Framework 4.8 就很好了。但是,该页面表示工具并不总是支持它:
针对 .NET Framework 列出的版本适用于 .NET Core 2.0 SDK 及更高版本的工具。旧版本对 .NET Standard 1.5 及更高版本使用不同的映射。如果无法升级到 Visual Studio 2017 或更高版本,您可以下载适用于 Visual Studio 2015 的 .NET Core 工具。
我不知道您正在使用什么 Visual Studio 版本或 MsBuild 版本,但这可能是您的问题?