解釋 ASP.NET 應用程式中 .csproj 檔案的作用


.csproj 檔案告訴 dotnet 如何構建 ASP.NET 應用程式。它是 ASP.NET 專案中最重要的檔案之一。

ASP.NET 專案可以依賴其他開發人員開發的第三方庫。通常,這些庫作為 Nuget 包使用 Nuget 包管理器安裝。使用 Nuget 安裝包後,包的名稱及其版本將列在 .csproj 檔案中。

如果您熟悉 Node.js,可以將 .csproj 檔案視為 package.json 檔案。執行“dotnet restore”命令後,dotnet 使用 .csproj 檔案確定要從 Nuget 安裝的包。

要編譯 ASP.NET 應用程式,編譯器需要諸如 dotnet 框架版本、應用程式型別等資訊。.csproj 檔案儲存所有這些資訊,使 dotnet 能夠構建和編譯專案。

考慮以下 .csproj 檔案示例,其中包含 ASP.NET 應用程式依賴的各種 Nuget 包,以及 dotnet 工具構建應用程式所需的其它資訊。

<?xml version="1.0" encoding="UTF-8"?>
<Project Sdk="Microsoft.NET.Sdk.Web">
   <PropertyGroup>
      <TargetFramework>net5.0</TargetFramework>
   </PropertyGroup>
   <ItemGroup>
      <PackageReference Include="SQLite" Version="3.13.0" />
      <PackageReference Include="Microsoft.Data.Sqlite.Core" Version="6.0.0-preview.4.21253.1" />
      <PackageReference Include="Microsoft.Extensions.Primitives" Version="6.0.0-preview.4.21253.7" />
      <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
      <PackageReference Include="log4net" Version="2.0.12" />
   </ItemGroup>
</Project>

在此示例中,該檔案告訴 dotnet 它是一個依賴於 .NET 5 框架的 Web 應用程式。它還列出了應用程式依賴的各種依賴項,例如 SQLite 和 logfornet。

以下是 ASP.NET Core 中 .csproj 檔案與舊版 ASP.NET 檔案相比的一些優勢

  • 自動包含檔案:在舊版 ASP.NET 中,.csproj 檔案包含專案中每個檔案的列表。現在,檔案會自動包含。

  • 無 GUID:早期,.csproj 檔案包含許多 GUID。現在很少使用它們。

  • 無 DLL 路徑:在舊版本中,您必須包含專案依賴的 Nuget .DLL 檔案的路徑。新版本允許您直接引用 Nuget 包,而無需指定磁碟上的路徑。

更新於: 2021 年 6 月 22 日

3K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告