第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

nuget.exe 無法識別 nuspec 文件中的任何目標框架

nuget.exe 無法識別 nuspec 文件中的任何目標框架

C#
人到中年有點甜 2023-09-24 16:12:55
我有一個項目,通過在 CSPROJ 文件中設(shè)置以下選項,直接在 Visual Studio 中生成 NuGet 包:<GeneratePackageOnBuild>true</GeneratePackageOnBuild>這會導致生成的包包含所有已標記為“復制到輸出目錄=不復制”的嵌入資源文件。遺憾的是,Visual Studio 的自動打包程序選擇始終將這些文件復制到 NuGet 包中。為了解決這個問題,我一直在研究編輯 .NUSPEC 文件并從命令行使用 NUGET.EXE 來創(chuàng)建包。然后我遇到了一個新問題。通過使用 NUGET.EXE 而不是 Visual Studio,生成的包將依賴項部分顯示為“不受支持”,我通過在“NuGet Explorer”中打開包來看到這一點:這是用于創(chuàng)建包的 .bat 文件:c:\nuget\nuget.exe config -Set repositoryPath="%USERPROFILE%\.nuget\packages"c:\nuget\nuget.exe pack -IncludeReferencedProjects -properties Configuration=Release這是 NUSPEC 文件:<?xml version="1.0" encoding="utf-8"?><package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">  <metadata>    <id>Integrative.Lara</id>    <version>0.5.3</version>    <authors>Pablo Carbonell, Integrative Software LLC</authors>    <owners>Pablo Carbonell, Integrative Software LLC</owners>    <requireLicenseAcceptance>true</requireLicenseAcceptance>    <license type="file">LICENSE</license>    <projectUrl>https://github.com/integrativesoft/lara</projectUrl>    <iconUrl>https://integrative.b-cdn.net/Integrative.ico</iconUrl>    <description>Lara is ...</description>    <copyright>Copyright (c) 2019 Integrative Software LLC</copyright>    <tags>lara, web, html, html5, desktop, gui, cross, framework, mac, osx, platform, ui, blazor, razor</tags>    <repository url="https://github.com/integrativesoft/lara" />    <dependencies>      <group targetFramework=".NETStandard2.0">        <dependency id="Microsoft.AspNetCore" version="2.2.0" exclude="Build,Analyzers" />        <dependency id="Microsoft.AspNetCore.WebSockets" version="2.2.1" exclude="Build,Analyzers" />      </group>    </dependencies>  </metadata></package>有沒有辦法修復“不受支持”的目標?我也嘗試使用“netstandard2.0”和其他標識符,但仍然得到相同的“不受支持”?;蛘?,有沒有辦法使用 Visual Studio 的自動包生成并阻止它在包中包含文件?
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經(jīng)驗 獲得超3個贊

如您所見,當您使用 nuspec 時,您有責任做好每一件小事。使用 NuGet 的 MSBuild 包目標更容易,因為它可以自動執(zhí)行創(chuàng)建依賴項等操作,包括在組中使用正確的 TFM。

NuGet 關(guān)于打包目標的文檔包含與使用 msbuild 打包相關(guān)的內(nèi)容(這就是您使用dotnet pack或時發(fā)生的情況GeneratePackageOnBuild)。特別是關(guān)于在包中包含內(nèi)容的部分有以下示例:

<Content?Include="..\win7-x64\libuv.txt">
?<Pack>false</Pack>
?</Content>

由于您的文件是嵌入的,您的 csproj 將包含類似<EmbeddedResource Include="whatever.ext" />.?因此,使用文檔中的信息,您可以這樣做<EmbeddedResource Include="whatever.ext" Pack="false" />,或者像文檔一樣使用多行版本。MSBuild 允許您以任何一種方式設(shè)置項目元數(shù)據(jù)。

<GeneratePackageOnBuild>true</GeneratePackageOnBuild>

關(guān)于GeneratePackageOnBuild的注意事項:讓build為你創(chuàng)建包很方便,但這意味著當你在調(diào)試并且需要在再次測試之前更改一行代碼時,你不僅要等待構(gòu)建,還需要等待盒。如果你的包很小,它可能相當快,但它仍然會減慢你的“內(nèi)循環(huán)”體驗。大多數(shù)開發(fā)人員只需要打包的頻率遠低于構(gòu)建的頻率,因此我建議禁用GeneratePackageOnBuild,并dotnet pack在您實際需要 nupkg 時在項目(或解決方案)上運行。


查看完整回答
反對 回復 2023-09-24
  • 1 回答
  • 0 關(guān)注
  • 184 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號