簡體   English   中英

如何使用 dotnet CLI 構建 .NET Framework 4.8 應用程序?

[英]How can I build a .NET Framework 4.8 application using the dotnet CLI?

我繼承了一個可以使用 Visual Studio 編譯的 .NET Framework 4.8 應用程序,但是當嘗試使用dotnet CLI 應用程序編譯它時,我從外部依賴項中使用的所有類型都收到 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) net48創建了一個 SDK 樣式的 csproj手。

無論如何, dotnet沒有針對 .NET Framework 的 SDK,它不知道如何處理基於 .NET Framework 的網站、ASP.NET csprojs、WPF/Windows Forms csprojs、類庫 csprojs 等.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM