[英]Issue finding and using lib folder in Nuget package C# project
我正在創建一個示例Nuget包,以測試創建用於我的另一個項目的內部Nuget包的過程。 我的最終目標是創建一個簡單的Nuget程序包,可以將該程序包安裝到另一個簡單的C#項目中並進行測試。
我一直在遵循Microsoft教程來使用VS創建和發布程序包: https : //docs.microsoft.com/zh-cn/nuget/quickstart/create-and-publish-a-package-using-visual-studio-網絡框架
我在nuget.org上成功創建並發布了名為MyNugetPackage
程序包,並嘗試將其安裝到我的另一個名為TestingMyNugetPackage
C#項目中。 我在NuGet軟件包控制台中收到一個錯誤,指出:
軟件包不支持任何目標框架
該錯誤是有道理的,因為我已經閱讀了有關支持多個.NET
版本並在lib
文件夾下指定版本的信息,並且在創建程序包時絕對沒有這樣做: https : //docs.microsoft.com/zh-cn/ nuget /創建包/支持多個目標框架
lib
文件夾的想法對我來說很有意義,我想我知道如何向其中添加目標.NET
版本。 但是, 我在任何地方都找不到此文件夾 ! 它不在C#項目目錄中的任何位置。 我認為可能需要自己創建它,但是我不確定將其放置在何處。
我已經讀過許多關於此主題的教程和SO問題,它們都在談論如何使用lib
文件夾,但是沒有人說它在哪里。 我是一個完整的初學者,我知道這里缺少明顯的東西,但是我不確定它是什么。
編輯 :我確實嘗試將我的.nupkg
文件更改為.zip
文件並提取內容以嘗試查看lib
文件夾。 這確實提取了內容,但是在擴展整個項目樹並搜索lib
之后,我沒有看到任何lib
文件夾。
這是我的C#解決方案樹的快速布局:
名為MyNugetPackage
解決方案,其中包含MyNugetPackage.sln
文件, MyNugetPackage.csproj
文件以及簡單的Logger.cs
類, Logger.cs
僅具有public void Print(string text) { Console.WriteLine(text); }
public void Print(string text) { Console.WriteLine(text); }
方法:
MyNugetPackage
MyNugetPackage.csproj.1.0.0.nupkg
MyNugetPackage.nuspec
MyNugetPackage.sln
MyNugetPackage (folder)
bin (folder)
Debug (folder) -> .dll, .pdb
Release (folder) -> .dll, .pdb
obj (folder)
Debug (folder)
Release (folder)
Properties (folder)
AssemblyInfo.cs
Logger.cs
MyNugetPackage.csproj
有人可以將我放在需要放置我的lib
文件夾的位置,以便可以添加受支持的.NET 4.7
框架引用並成功安裝我的軟件包嗎?
NuGet包(.nupkg)只是一個zip文件。 如果您嘗試查看此文件的內容,請像zip文件一樣打開它(使用7zip或其他內容)。 或者,將擴展名更改為zip。 在軟件包中,您將找到“ lib”文件夾以及.nuspec和軟件包文件夾(以及其他內容)。 但這是打包項目時生成的結果包,此處的更改不會影響您的代碼。
如果您只是想針對一個或多個框架。 在VS中,編輯您的項目文件(.csproj)。 此文件是帶有PropertyGroup的XML,該PropertyGroup包含“ TargetFramework” 或 “ TargetFrameworks”元素。 要定位單個框架,請添加TargetFramework元素,要定位多個框架,請改用TragetFrameworks。
以單個.Net框架為目標:
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
另外,您可以定位多個框架。
<PropertyGroup>
<TargetFrameworks>net472; netcoreapp3.0; netcoreapp2.1</TargetFrameworks>
</PropertyGroup>
這將針對.Net 4.7.2,.Net Core 3.0和.Net Core 2.1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.