如何使用 dotnet CLI 构建 .NET Framework 4.8 应用程序?

2023-11-24

我继承了一个 .NET Framework 4.8 应用程序,我可以使用 Visual Studio 对其进行编译,但是当尝试使用dotnetCLI 应用程序 对于我从外部依赖项使用的所有类型,我都会收到 CS0246 错误。 原来的错误消息,对不起德国人:

Archiver\Archiver.cs(2,7): error CS0246: Der Typ- oder Namespacename "log4net" wurde nicht gefunden (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis).

跑步时dotnet --list-sdk我得到以下输出:

3.1.301 [C:\Program Files\dotnet\sdk]
5.0.402 [C:\Program Files\dotnet\sdk]

我已多次尝试重新安装和修复 .NET Framework 4.8,但没有解决任何问题。

我需要做什么才能让 CLI 识别框架的位置并希望修复我的错误?


你不能。 这很复杂,见下文。

dotnet是.NET Core/.NET 5 及更高版本的 CLI。 它从未与 .NET Framework .csproj 项目兼容,也永远不会兼容。 (这很复杂,请参见下文。)

您正在寻找的答案基本上是:要从命令行构建 .NET Framework 项目/解决方案,请使用 MSBuild (或者如果您真的、真的、真的必须使用 Visual Studio,devenv).

您也许能够构建一个新的“SDK 风格”项目目标 net48 或类似的。这些项目是随 .NET Core 引入的,大多数 .NET Framework 项目都不是这种类型。据我所知,Visual Studio 中没有模板为 .NET Framework 项目生成它们,因为它们不是为其构建的。例如,在其中使用实体框架 NuGet 包时,该工具不会按照通常的方式安装和集成,因为 NuGet 在 .NET Framework csprojs 和“SDK 样式”csprojs 之间的集成方式完全不同。如果您有这种类型的项目,那么您很可能 a) 创建了一个 .NET Standard 项目,b) 创建了一个 .NET Core 项目并将其设为目标net48,或 c) 或多或少手动创建了一个 SDK 样式的 csproj。

无论如何,没有SDKdotnet以 .NET Framework 为目标,并且不知道如何处理基于 .NET Framework 的网站、ASP.NET csprojs、WPF/Windows Forms csprojs、类库 csprojs 等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 dotnet CLI 构建 .NET Framework 4.8 应用程序? 的相关文章

随机推荐

  • 打字稿 |不可变 |扩展 Immutable.Map 类型的正确方法

    我有一个用打字稿编写的带有不可变包的react redux应用程序 我有一个来自 api 的数据 在存储中我将其打包到 Map 中 在所有应用程序中 它们都用作地图 我创建了一个界面 export interface PaymentMeth
  • iOS:让应用程序像服务一样运行

    在 iOS 中 我如何指示操作系统让我的应用程序保持运行 即使它不再位于前台 Skype Viber Empatica Zenly 还有更多的应用程序可以做到这一点 基本上 iOS 中不存在服务类型应用程序或功能之类的东西 即使是 后台 应
  • 从“int”转换为“size_t”可能会改变结果的符号 - GCC,C

    在我的项目中 我打开了将警告视为错误并使用 pedantic and ansi标签 我正在使用 GCC 编译器 在这个项目中 我必须使用第三方源代码 该源代码有很多警告 由于我将警告视为错误 因此我在修复他们的代码时遇到了困难 大多数警告都
  • 如何在 IE7 中垂直对齐文本而不使用 CSS 'table-cell' 属性?

    我有固定高度的 div 其中包含文本 我希望文本在 div 中间垂直对齐 但问题在于某些文本是单行 而有些文本则分成两行 对于 IE8 Chrome 和 Firefox 使用display table cell and vertical a
  • 在函数中创建类并访问在包含函数的作用域中定义的函数[重复]

    这个问题在这里已经有答案了 Edit 请参阅我在这个问题底部的完整答案 tl 博士回答 Python 具有静态嵌套作用域 这static方面可以与隐式变量声明交互 产生不明显的结果 这可能特别令人惊讶 因为该语言通常是动态的 我以为我对 P
  • Python:midi 到音频流

    我需要将 MIDI 数据转换 合成为音频流 PCM 数据 有什么简单的方法可以做到这一点 随你挑选关于你想要做什么 页面上有一个 MIDI 部分
  • 在matplotlib中计算白色背景上alpha为0.5的RGB等效值

    我希望能够在 matplotlib 中以 0 5 的 alpha 值在白色背景上复制原色 r g 或 b 的外观 同时将 alpha 值保持为 1 下面是一个示例 通过手动实验 我发现 alpha 为 1 的 RGB 值看起来与 alpha
  • 当没有返回结果时处理 ExecuteScalar()

    我正在使用以下 SQL 查询和ExecuteScalar 从Oracle数据库获取数据的方法 sql select username from usermst where userid 2 string getusername comman
  • 重置用户密码

    我正在尝试找到一种通过非交互式登录在 Azure Active Directory 中重置用户密码 所有用户 而不仅仅是经过身份验证的用户 的解决方案 目前看来这只能通过 powershell 的 MSOnline 获得Set AzureA
  • Android 模拟器替代品

    我对 Android 开发完全陌生 但我刚刚拥有一台 HTC Hero 想为其开发一些应用程序 然而 我使用笔记本电脑作为我的开发机器 并且模拟器非常慢 启动大约需要 10 15 分钟 虽然我可以让它保持打开状态 但在使用其他应用程序 如
  • LINQ 按空列排序,其中顺序为升序,空值应该在最后

    我正在尝试按价格对产品列表进行排序 结果集需要按列按价格从低到高列出产品LowestPrice 但是 该列可以为空 我可以按降序对列表进行排序 如下所示 var products from p in context Products whe
  • 如何从Application.Path获取UNC路径?

    我想获取 vba 代码中活动工作簿的路径 ActiveWorkbook Path做这个 BUT 我需要它来检索这样的东西 MachineName ShareFolder ETC ETC2 NOT S ETC ETC2 Where S 映射到
  • 为什么在访问模型时,backbone.js 返回一个空数组?

    我有一个路由器访问其集合 我的 for 循环没有迭代模型 因此我尝试记录集合以查看它返回的内容 事实证明 当我直接记录集合时 我会按预期看到所有模型 但是 如果我尝试记录集合的 models 属性 我会得到一个空数组 这没有道理 这些线直接
  • C# 中 async/await 的这种用法以前被发现过吗? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 在我之前在 stackoverflow 上提出了关于 async await 的问题之后
  • 以编程方式查明进程是否需要用户输入

    我如何以编程方式 在 C 中 确定另一个外部应用程序 本机 java NET 或其他 当前是否需要用户输入 这可以在托管代码中完全完成吗 我正在寻找的是实施 static Boolean IsWaitingForUserInput Stri
  • Google Maps API 自动完成同一页面上的第二个地址字段

    我在我的页面上使用 Google Maps API 该页面要求用户填写您的 当前地址 和 新地址 我可以让自动完成功能在第一个地址上工作 但它不适用于第二个地址 我做了很多研究并查看了 stackoverflow 上的类似帖子 但我找不到任
  • 在 try/catch 块中等待两个承诺会导致“未处理的承诺拒绝”[重复]

    这个问题在这里已经有答案了 我想等待两个并行运行的承诺 我不想连续等待每个承诺 这有效但速度较慢 出于这个原因 我认为我可以首先创建两个承诺来让它们滚动 比如说两个网络请求 然后等待它们并能够在 catch 块中捕获错误 这个假设似乎是不正
  • Django - 按模板中的某个字段对查询集进行分组

    我有一张桌子Events 按字段排序date 我想打印模板中的事件 但为每个日期使用单独的 div 例如 div class content h1 December 30th h1 div div class content h1 Dece
  • #1025 - mysql 中重命名错误(errno:150)

    我试图在一个表 misc 中删除一个外键 id 它是表 main 中的主键 id 数据库名称 xxx alter table misc drop FOREIGN KEY id 我收到这个错误 1025 将 interview sql edc
  • 如何使用 dotnet CLI 构建 .NET Framework 4.8 应用程序?

    我继承了一个 NET Framework 4 8 应用程序 我可以使用 Visual Studio 对其进行编译 但是当尝试使用dotnetCLI 应用程序 对于我从外部依赖项使用的所有类型 我都会收到 CS0246 错误 原来的错误消息