gpt4 book ai didi

c# - 自动实现的属性必须同时定义 get 和 set 访问器

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:01 25 4
gpt4 key购买 nike

SQLCLR Visual Studio 2015

我刚开始编写 CLR 代码。

编译 SQL CLR 函数时出现以下错误

CompilerError

我正在使用 .Net Coordinates library .

有问题的代码是

public Datum.Datum Datum { get; }

在 C# 控制台应用程序(而非 CLR)中编译时,同一库可以使用 Visual Studio 2015 成功构建和执行。

我的理解是,通过使用 Visual Studio,我使用的是 C# v6。

.sqlproj 会强制使用早期版本的 C# 吗?

最佳答案

主要问题似乎是 Visual Studio 与 .NET Framework/CLR 之间的脱节。 Visual Studio 似乎可以更新为使用较新版本的 C#,独立于您计算机上实际存在的任何新版本。

不应该需要在高级 SQLCLR 构建属性中指定使用 C# 6.0,但这样做会给您一条错误消息,该消息很有见地:

Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default

查看输出消息(假设级别足够高)它应该表明您正在使用 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe,所以.sqlproj 文件或 SSDT 似乎没有在此处强制执行任何操作。但是,如果您转到命令提示符,转到包含 Csc.exe 的文件夹并直接运行它(即仅在提示符处运行 Csc),您应该会看到以下内容注意:

Microsoft (R) Visual C# Compiler version 4.6.1590.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240

该链接会将您带到 Roslyn 的 GitHub 存储库。为了使事情变得更容易,这里是直接指向该页面的链接,从下载编译器的部分开始,而不是同时下载 Visual Studio(因为你已经有了):

https://github.com/dotnet/roslyn#download-c-and-visual-basic

关于c# - 自动实现的属性必须同时定义 get 和 set 访问器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46447389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com