我刚刚完成了我的一个项目,并使用了许多新的C#6功能,例如在Visual Studio中构建的空传播运算符handler?.Invoke(null, e)
。但是,当我运行脚本以发布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
您可以使用以下解决方法:
MSBuild.exe
,提供csproj或sln文件的路径,然后以正确的配置自行构建项目。 nuget pack mypackage.nuspec
构建软件包。 关于c# - NuGet Pack -Build似乎不了解C#6.0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30271314/