VS2008 Net 3.5 C# 不能包含 NAudio.csproj:“$”和“=>”的含义

Posted

技术标签:

【中文标题】VS2008 Net 3.5 C# 不能包含 NAudio.csproj:“$”和“=>”的含义【英文标题】:VS2008 Net 3.5 C# Can't include NAudio.csproj : meaning of "$" and "=>" 【发布时间】:2019-01-26 05:28:30 【问题描述】:

我使用 VS 2008(我喜欢它的简单性和速度),并且我有一个为 Net 3.5 编译的项目。尝试导入 NAudio.csproj(下面的链接)时,我在 NAudio 代码中遇到许多语法错误,例如:

throw new FormatException($"End Track event was not the last MIDI event on track track");

意外字符'$'(整行加红色下划线)

public int Tracks => events.Tracks;

;预期(“=>”带有红色下划线)

我可以在 VS 2008 中使用 NAudio 并为 Net 3.5 编译吗?

NAudio

【问题讨论】:

【参考方案1】:

VS2008 仅支持 C# 3,它不包括逐字字符串文字或表达式体成员。

然而,这并不意味着你不能使用 NAudio——你只是不能自己编译它。您应该使用 NuGet package,它确实包含 .NET 3.5 的目标。

不过,在旁注中,我强烈建议您更新到 VS 的更新版本 - 您错过了许多新的语言功能,以及能够为 .NET Core 等进行开发。随着时间的推移,支持 .NET 3.5 的包可能会越来越少,能够使用 C# 3 进行编译的项目也会越来越少。

【讨论】:

谢谢。我从来没有使用过nuget。我下载了 nuget 4.5.1 命令行(以后的版本给我一个错误)。我运行了“nuget install naudio.1.8.4.nupkg”,但得到“NotFound api.nuget.org/v3/registration3-gz-semver2/naudio.1.8.4.nupkg/… 575ms 无法找到包‘naudio.1.8.4.nupkg’”我做错了什么? @MrSparkly:我不知道细节——但另一种选择是直接下载 NuGet 包并将其存储在您在 VS 中配置的本地包存储库中。 (如果您真的想要,您可以直接提取内容并添加对 DLL 的引用,尽管我不建议这样做。NuGet 包只是具有特定布局的 zip 文件。)这个另一个例子是你使用非常旧的版本可能会遇到的问题 - 我真的鼓励你升级。 好的,我使用包管理器安装了 VS2017 和 NAudio。到目前为止,VS2017 似乎和 VS2008 一样快,所以我可能会坚持使用它(但“平面”GUI 仍然很难看)。谢谢。【参考方案2】:

使用较新版本的 Visual Studio,这将允许您使用较新的语言功能。

将“目标框架”属性设置为“.Net Framework 3.5”以使可执行文件只需要旧框架版本。 (在项目的“属性”页面中,选择“应用程序”选项卡,您将在其中找到“目标框架”组合框。

【讨论】:

以上是关于VS2008 Net 3.5 C# 不能包含 NAudio.csproj:“$”和“=>”的含义的主要内容,如果未能解决你的问题,请参考以下文章

构建 VS2008 .NET 3.0 解决方案,无需在构建服务器上安装 .NET 3.5

VS2005的.NET Framework 2.0升级成NET Framework 3.5相对应的VS2005会升级成VS2008吗

VS2008 安装项目会更新 Net 3.5 SP1 吗?

.NET 3.5/VS 2008 上 ASP.NET Web 服务的自定义 HTTP 基本身份验证

asp.net(vs2008 c# 中) 如何在跳转的页面传递参数?

VS2008如何将C#写的Winform程序打包成安装包?