.net - 无法在 Mac 上的命令行中运行 .NET Core 应用程序
问题描述
所以我是 .NET 的新手,正在开发一个命令行应用程序。我需要测试传递的参数,我认为这在 Visual Studio 中是不可能的。因此,当我转到 OS X 终端并转到项目文件夹并运行 dotnet run 时,它会引发此错误:
error MSB3644: The reference assemblies for .NETFramework,Version=v4.7.2 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks.
它到底为什么要尝试使用 .NET 框架?无论如何,这在 Mac 上是不可用的。它应该使用 .NET 核心。不知何故,它在 Visual Studio 调试模式下运行,但在命令行中它一直试图在 .NET 框架中运行它。这需要是一个跨平台的命令行应用程序,所以它必须是 .NET 核心。如何测试我的应用程序的命令行参数输入?
解决方案
您的项目引用了与您正在运行的操作系统不兼容的 .NET Framework v4.7。您要么必须将用 v4.7 编写的项目迁移到 .NET 标准库或 .NET 核心类库。然后从您的 .net 核心应用程序中引用相同的内容并在任何环境中运行您的应用程序。
推荐阅读
- php - 从 laravel 的数据库中获取所有带有评论的帖子
- sql-server - 如何使 LINQPad 与 SQL Server 的图形一起工作?
- android - API 23 上的 Zxing 错误:未找到处理意图行为的活动 =“com.google.zxing.client.SCAN”
- wordpress - 导入/导出 WordPress 演示
- php - 预输入中的重复值
- hibernate - springboot中JPA Repositry的save方法真的commit了吗?
- audio - Arduino 声音传感器仅显示 25 - 29 之间的值
- ios - 即使正确设置了 indexpath,UITableView 也无法正确显示结果,那里的任何专家都可能能够阐明一些观点?
- android - 带有 strftime 的 Room SQLite 选择语句不返回任何结果
- c# - 如何将多个表单中的值插入 SQL 数据库的同一行