繁体   English   中英

NuGet Pack -Build似乎不了解c#6.0

[英]NuGet Pack -Build does not seem to understand c# 6.0

我刚刚完成了我的一个项目,并使用了一堆新的c#6功能,例如null传播运算符handler?.Invoke(null, e) ,该功能在Visual Studio中构建。 但是,当我运行脚本以发布NuGet软件包时,出现编译错误,提示:

EventName.cs(14,66): error CS1056: Unexpected character '$'
EventName.cs(69,68): error CS1519: Invalid token '=' in class, struct, or interface member declaration
EventName.cs(69,74): error CS1520: Method must have a return type

看起来NuGet使用的是旧版本的编译器,但我想知道是否有人知道可以解决该问题的解决方法或配置。

看来您还在Nuget中发现了此错误,但仍未解决: https : //github.com/NuGet/Home/issues/1107

您可以使用以下解决方法:

  1. 修改脚本以使用正确版本的MSBuild构建项目-自己调用MSBuild.exe ,提供csproj或sln文件的路径,然后以正确的配置自行构建项目。

  2. 创建一个描述您软件包的nuspec文件( https://docs.nuget.org/create/nuspec-reference )。 您可以使用Nuget Package Explorer应用程序。 使用在步骤1中生成的DLL。

  3. 使用nuget pack mypackage.nuspec构建软件包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM