当前位置: 首页 > 知识库问答 >
问题:

C#7.1无法发布

戴嘉珍
2023-03-14

我有ASP.NETCore C#web应用程序。我做了一些现在使用C#7.1功能的更改。我更改了项目版本,因此它可以编译和运行。但是,当我尝试发布项目时,我收到了一个错误:

C# 7.0中没有“默认文本”功能。请使用语言版本7.1或更高版本。

我看到的编译命令是:

C:...\.nuget\packages\microsoft.net.compilers\2.6.1\tools\csc.exe /noconfig /unsafe- /checked- /nowarn:1701,1702,1705,1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;RELEASE;NETCOREAPP2_0 /errorendlocation /preferreduilang:en-US /warnaserror+:NU1605`

正如其他地方建议的那样,我安装了Microsoft. Net. Comp的(v2.6.1),但没有任何区别。

是否有专门影响发布的 Visual Studio 设置?

更新:看起来一个控制台应用程序没有这个问题。如果构建成功,它也会成功发布。但是,web应用程序不会发布。有人成功发布了具有C# 7.1特性的ASP.NET核心web应用吗?

共有2个答案

祖新觉
2023-03-14

更新:
将我的VS2017从15.4.5版升级到15.5.2版后,我可以重现问题,但我收到了一个错误

C#7.0中不提供“默认文字”功能。请使用语言版本7.1或更高版本

@Jeremy Cook的回答解决了这个问题:

在旧项目格式和新项目格式中,项目文件中的 LangVersion 元素负责此操作。您可以通过csproj xml文件或通过Visual Studio中的UI进行更改。

请注意,此设置取决于您的构建配置。若要确保可以使用 C# 7.1 及更高版本进行编码和发布,请确保无论生成配置(调试发布等)如何,都配置此设置。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>

</Project>

龙博
2023-03-14

添加<代码>

资料来源:https://developercommunity.visualstudio.com/solutions/166543/view.html

 类似资料:
  • 我正在尝试启动jBoss。当我启动服务器时,我在控制台上看到以下几行代码。 14:41:25,969INFO[org.jboss.modules]JBoss模块版本1.1.1.GA 14:41:26,743INFO[org.jboss.msc]JBoss MSC版本1.0.2.GA 14:41:27015信息[org.jboss.as]JBAS015899:jbossas7.1.2。最终快照“Br

  • 我正在尝试连接到EAP 7.1上的ActiveMq Artemis,它具有传统配置(远程:4447)。我可以使用JMSToolBox通过端口5445连接,但是当我想从我的Spring Boot应用程序使用remote://xxx:4447访问服务器时,我得到了这个警告 对于目标“java:/队列/参与方”,JMS 消息侦听器调用程序的安装失败 - 尝试恢复。原因:无法将org.apache.act

  • 在网上进行了几个小时的反复试验和研究后,问题似乎是由于授权错误而无法连接,但我可以使用Java代码(使用相同的库MQQueueConnectionFactory)连接,也可以使用QueueZee与完全相同的库连接,获得所有队列的列表并浏览它们,这样我就知道用户授权问题不应该是问题所在。 我运行的是Hermes JMS1.14,并且尝试使用Java1.6.0_33和1.7.0_5。Websphere

  • 主要内容:实例,实例,实例除法器原理(定点) 和十进制除法类似,计算 27 除以 5 的过程如下所示: 除法运算过程如下: (1) 取被除数的高几位数据,位宽和除数相同(实例中是 3bit 数据)。 (2) 将被除数高位数据与除数作比较,如果前者不小于后者,则可得到对应位的商为 1,两者做差得到第一步的余数;否则得到对应的商为 0,将前者直接作为余数。 (3) 将上一步中的余数与被除数剩余最高位 1bit 数据拼接成新的数

  • 我最近下载了Android Studio Bumblebee,它很有帮助地问我是否想升级到Android Gradle Plugin 7.1.0,该版本与Android Studio Bumblebee一起发布。 升级后,我遇到一个生成错误: 看看文件,我看到: 这意味着我无法运行我的应用程序,我需要降低AGP 7.0的级别,以使其恢复工作。我如何修复这个问题并升级到Android Gradle插

  • 最简单的获取函数调用者传递过来的参数便是使用zend_parse_parameters()函数。 zend_parse_parameters()函数的前几个参数我们直接用内核里宏来生成便可以了,形式为:ZEND_NUM_ARGS() TSRMLS_CC,注意两者之间有个空格,但是没有逗号。从名字可以看出,ZEND_NUM_ARGS()代表着参数的个数。 紧接着需要传递给zend_parse_par