MS_NuGetPackageManagement - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- æ»ãïŒNuGetïŒ
- NuGet ã䜿çšããããã±ãŒãžç®¡ç
- NuGetããã±ãŒãžã®éçºãšå ¬é
Microsoft Learn ãåç §ã
Microsoft Learn ãåç §ã
ç§»è¡ã¡ã¢ïŒè¡šèšïŒ: åæã®ãdoscsãlearnãåç §ããã¯
**docsïŒçŸ Microsoft LearnïŒ**ã®å ¥å誀ããšå€æãã
çµ±åããŠãMicrosoft Learn ãåç §ããã«ä¿®æ£ããã
è£è¶³ïŒçŸåšã®æäœææ®µïŒææ°åïŒ: æ¬ããŒãžã®èšè¿°ã¯
packages.config+nuget.exe+ ããã±ãŒãž ãããŒãžã£ãŒ ã³ã³ãœãŒã«
ãåæãšããŠãããçŸåšã¯æ¬¡ã® 3 系統ãããã
ææ®µ 察象 åè dotnetCLISDK ã¹ã¿ã€ã« ãããžã§ã¯ã çŸåšã®ç¬¬äžåè£ïŒdotnetã³ãã³ãïŒ ããã±ãŒãž ãããŒãžã£ãŒ UI äž¡æ¹ Visual Studio ã® GUI ããã±ãŒãž ãããŒãžã£ãŒ ã³ã³ãœãŒã«ïŒPowerShellïŒ äž»ã« packages.configInstall-Packageçnuget.exepackages.configç³»ã¬ã¬ã·ãŒ dotnet add package Newtonsoft.Json --version 13.0.3 dotnet remove package Newtonsoft.Json dotnet list package --outdated # æŽæ°å¯èœãªãã®ãåæ dotnet list package --vulnerable # è匱æ§ã®ãããã®ãåæ dotnet restore
dotnet list package --vulnerableã¯ã
äŸåããã±ãŒãžã®æ¢ç¥ã®è匱æ§ãæ€åºããã
CI ã«çµã¿èŸŒãã§ãããšããµãã©ã€ ãã§ãŒã³äžã®ãªã¹ã¯ãç¶ç¶çã«æ€ç¥ã§ããã
GAC ã«ç»é²ããããããªåŸæ¥ã®Microsoft Windows Installerã§
é
åžããããããªããã±ãŒãžã¯ãä»ãŸã§ã©ãã GAC ã«ç»é²ãããŠãããã®ãåç
§ããã
GAC ã«ç»é²ãããŠããªãããã±ãŒãž (OSS ã©ã€ãã©ãªãªã©) ã¯ã
ãã¡ããåå¥ã«ããã±ãŒãžãããŠã³ããŒããããããåç
§ããããšãã§ããã
ãããããã®ããã±ãŒãžã NuGet ã«ç»é²ãããŠããã°ã
NuGet ã®ã¡ãªããã享åããããã« NuGet çµç±ã§ã€ã³ã¹ããŒã«ããã®ãè¯ãã®ã§ã¯ãªãããšæãããã
GAC ã«ã NuGet ã«ãç»é²ãããŠããªãããã±ãŒãžã䜿çšããå Žåã¯ã
åå¥ã«ããŠã³ããŒããããããžã§ã¯ãããåç
§ãããã
NuGet ã§ã€ã³ã¹ããŒã«ããããã±ãŒãž (*.dll) ã¯ãGAC ã«ã¯å«ãŸããªãã
ãã®ãããNuGet ã§ã€ã³ã¹ããŒã«ããããã±ãŒãžãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšããå Žåã
ãããŒã«ã«ã³ããŒãã¯å¿
ããTrueãã«ããŠããããšã
è£è¶³ïŒ.NET Core 以éã§ã¯ GAC ãç¡ãïŒææ°åïŒ: æ¬ç¯ã® 3 åé¡ã¯
.NET Framework åæã§ããã
.NET Framework .NET Core / .NET GAC ããïŒå ±æé çœ®ïŒ å»æ¢ åç §ã®è§£æ±º GAC â binã®é deps.jsonã«åŸãããŒã«ã«ã³ã㌠æç€ºçã« True ã«ããå¿ èŠ æ¢å®ã§ã¢ããªé äžã«åºå ãã¬ãŒã ã¯ãŒã¯ ãã·ã³ã« 1 ã€ïŒã®ç³»åïŒ ã¢ããªããšïŒSCD ãªã忢±ïŒ GAC 廿¢ã®æå³ã¯å€§ããã
ããã·ã³å šäœã§ 1 ã€ã®çãå ±æããããšããåæãã®ãã®ãç¡ããªã£ãã
ããã«ããã
- ã¢ããªããšã«ç°ãªãçã®ã©ã€ãã©ãªã䜿ããïŒDLL Hell ã®è§£æ¶ïŒ
- 管çè æš©éãªãã§é 眮ã§ãã
- ã¢ã³ã€ã³ã¹ããŒã«æŒãã«ããæ®éªžãçããªã
ãšããå©ç¹ãåŸããã
ïŒè©³çŽ°ã¯ .NETã¢ã»ã³ã㪠/ ã¢ã»ã³ããªïŒããã ã .NET Core ã§ãã
ãã«ãåºåã« NuGet åç §ãã³ããŒãããªããšããå¥ã®çŸè±¡ããã
ïŒåŸè¿°ã®.NET Core ã®å Žåãåç §ïŒã
è£è¶³ïŒãã®ç¯ã¯
packages.configåºæïŒ: 以äžã¯ã
packages.configæ¹åŒã§ãåç §èšå® /packages.config/packagesãã©ã«ãã
ã® 3 ã€ãäºé管çã«ãªã£ãŠããããšããçããåé¡çŸ€ã§ããããpackages.config æ¹åŒã3 ç®æãæŽåãããå¿ èŠããã .csproj ã® <Reference><HintPath> â åç §èšå® packages.config â å ¥ããããã±ãŒãžã®äžèЧ packages\ ãã©ã«ã â å®äœ ãPackageReference æ¹åŒã1 ç®æã ã .csproj ã® <PackageReference> â ããã ã ïŒå®äœã¯ã°ããŒãã« ããã±ãŒãž ãã©ã«ã %USERPROFILE%\.nuget\packagesïŒPackageReference ã«ç§»è¡ããã°ãæ¬ç¯ã®åé¡ã¯ã»ãŒãã¹ãŠæ¶ããã
æ¢åãããžã§ã¯ãã®ç§»è¡æ¹æ³ã¯åŸè¿°ã® Package Reference ãåç §ã
- åç §èšå®ãè§£é€ããããã±ãŒãžã䜿çšããŠããªãå Žåã¯ãéãã
- (ãã ããåç §èšå®ãpackages.configãpackages ãã©ã«ãã®æŽåæ§ã¯åŽ©ãããŸãŸ)
- æ¢ã«ã€ã³ã¹ããŒã«ãããŠããŸãããšããã¡ãã»ãŒãžã衚瀺ãããå€ãããªãã
- (ãã ããåç §èšå®ãpackages.configãpackages ãã©ã«ãã®æŽåæ§ã¯åŽ©ãããŸãŸ)
-
åœè©²ããã±ãŒãžã«æŽæ°ããªãã£ãå Žå
- æŽæ°ã¯ãããŸããããšããã¡ãã»ãŒãžã衚瀺ãããå€ãããªãã
- (åç §èšå®ãpackages.configãpackages ãã©ã«ãã®æŽåæ§ã¯åŽ©ãããŸãŸ)
-
åœè©²ããã±ãŒãžã«æŽæ°ããã£ãå Žå
- åé¡ãªãæŽæ°ãè¡ãããã
- åç §èšå®ãpackages.configãpackages ãã©ã«ãã®æŽåæ§ãçŽãã
- packages.config ããã¯åé€ããããã
packages ãã©ã«ãããåé€ããéã«ãæ£åžžã«åé€ã§ããªãã£ãæšã®èŠåãåºãã - Visual Studio ãåèµ·åãããããžã§ã¯ããå床éããšã
ãã®ãšã packages ãã©ã«ãããããã±ãŒãžãåé€ãããã - åç §èšå®ãpackages.configãpackages ãã©ã«ãã®æŽåæ§ãçŽãã
æ¶ããããã±ãŒãžãèªåçã«åŸ©å ããããã«ãã¯æ£åžžçµäºããã
ããã±ãŒãžã®åŸ©å
ã¯ãVisual Studio ããMSBuild ã§ãã«ãããéã
è¶³ããªãããã±ãŒãžãèªåçã« NuGet ãµã€ãããããŠã³ããŒãããæ©èœã§ããã
- Visual Studio ã® [ããŒã«]-[ãªãã·ã§ã³] ã§ãªãã·ã§ã³ç»é¢ãéãã
- ããªãŒã®äžããã[NuGet ããã±ãŒãž ãããŒãžã£ãŒ]-[å šè¬] ãéžæããã
- ãè¶³ããªãããã±ãŒãžãããŠã³ããŒãããããšã NuGet ã«èš±å¯ãã«ãã§ãã¯ãå ¥ããã
ããã«ãMSBuild ãªã©ã®ã³ãã³ãã©ã€ã³ããŒã«ã§ã®ãã«ãæã«ã
è¶³ããªãããã±ãŒãžãããŠã³ããŒãããã«ã¯ã以äžã®èšå®ãè¡ãã
- Visual Studio ã® [ãœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒ] ãå³ã¯ãªãã¯ãã
ãEnable NuGet Package Restoreããéžæããã
ããã«ããããœãªã¥ãŒã·ã§ã³ãã©ã«ãçŽäžã«**ã.nugetã**ãã©ã«ããã§ãã
ã³ãã³ãã©ã€ã³ããŒã«ã§ã®ãã«ãæã§ããè¶³ããªãããã±ãŒãžãããã°ã
ããŠã³ããŒãããŠããã(MSBuild ã ãã§ãªããdevenv ã«ãããã«ãã§ãæå¹)ã
â» ãã®åäœã¯ãVisual Studio 2015 (NuGet 2.7) ã§å€æŽãããŠããã
äžèšãšåæ§ãããã±ãŒãžã埩å ããããã«ãã¯æ£åžžçµäºããã
è£è¶³ïŒ
.nugetãã©ã«ãæ¹åŒã¯å»æ¢æžã¿ïŒ: äžèšã®
ãEnable NuGet Package Restoreãã«ãã.nugetãã©ã«ãæ¹åŒ
ïŒMSBuild çµ±åã«ãã埩å ïŒã¯ãNuGet 2.7 ã§éæšå¥šã«ãªã£ã
ïŒåŸè¿°ã® Visual Studio 2015ïŒãçŸåšã¯ **ãèªå埩å ã**ãæ¢å®ã§ã
ãã«ãã®åã« NuGet èªèº«ã埩å ãè¡ãããã
.nuget\NuGet.targetsããããžã§ã¯ãã«åã蟌ãå¿ èŠã¯ãªãã# CI ãªã©ã§æç€ºçã«åŸ©å ããå Žå dotnet restore # SDK ã¹ã¿ã€ã« nuget restore Foo.sln # packages.config ç³» msbuild -t:restore # MSBuild çµ±åå€ããªããžããªãéãããšãã«
.nugetãã©ã«ããæ®ã£ãŠãããã
ãã€ã°ã¬ãŒã·ã§ã³ãæžãã§ããªããµã€ã³ã§ããã
- Install-Package
æå (ãµããã³ packages.config ã« <package> ãçæããã) - Update-Package
倱æ (ããã±ãŒãžãã€ã³ã¹ããŒã«ãããŠããªããšã®ã¡ãã»ãŒãžã衚瀺ããã) - Uninstall-Package
èŠå (packages ãã©ã«ãããåé€ããéã«ãæ£åžžã«åé€ã§ããªãã£ãæšã®èŠåãåºãã
Visual Studio ãåèµ·åãããããžã§ã¯ããå床éããšã
ãã®ãšã packages ãã©ã«ãããããã±ãŒãžãåé€ããã)
-
ååšããããŒãžã§ã³çªå·ã®å Žå
ãã«ãã¯æåããç·šéããããŒãžã§ã³çªå·ã®ããã±ãŒãžã packages ãã©ã«ãã«æ ŒçŽãããã
ãã®ãšããç·šéåã®ããŒãžã§ã³ã®ããã±ãŒãžã¯ packages ãã©ã«ãããã¯åé€ãããªãã
ãã®ããã以äžã®äžæŽåãèµ·ããã- packages ãã©ã«ãã«ãããŒãžã§ã³ã®ç°ãªã 2 ã€ã®ããã±ãŒãžãæ··åšããã
- åç §èšå®ãè§£é€ãããªãã®ã§ããããžã§ã¯ãã¯ç·šéåã®ããŒãžã§ã³ã®ããã±ãŒãžãåç §ãç¶ããã
- ãã®ãããpackages.config ã«æžãããããŒãžã§ã³çªå·ãšã
å®éã«åç §ããŠããããŒãžã§ã³çªå·ãäžèŽããªãããšã«ãªãã
-
ååšããªãããŒãžã§ã³çªå·ã®å Žå
ãNuGet ããã±ãŒãžã®åŸ©å ããããžã§ã¯ã {ãããžã§ã¯ãå} ã«å¯ŸããŠå€±æããŸããã
ãšããã¡ãã»ãŒãžã¯è¡šç€ºããããã- ãã«ãèªäœã¯æåãã(ç·šéåã®ããŒãžã§ã³çªå·ã®ããã±ãŒãžã®åé€ãè¡ãããªãããã)ã
- ãã®å Žåãã以äžã®äžæŽåãèµ·ããã
- packages ãã©ã«ãã«ã¯ãç·šéåã®ããŒãžã§ã³çªå·ã®ããã±ãŒãžã®ã¿ãæ®ãã
- åç §èšå®ãè§£é€ãããªãã®ã§ããããžã§ã¯ãã¯ç·šéåã®ããŒãžã§ã³ã®ããã±ãŒãžãåç §ãç¶ããã
- ãã®ãããpackages.config ã«æžãããããŒãžã§ã³çªå·ãšã
å®éã«åç §ããŠããããŒãžã§ã³çªå·ãäžèŽããªãããšã«ãªãã
è£è¶³ïŒãã®äžé£ã®æ€èšŒã®çµè«ïŒ: åæãäž¹å¿µã«æ€èšŒããŠããéãã
packages.configãæã§ç·šéããŠããåç §èšå®ïŒ.csprojïŒã¯è¿œåŸããªãã
çµæã**ã宣èšãšå®äœãããããŸãŸãã«ããéãã**ãšãã
æãåä»ãªç¶æ ãçãŸãããèŠåãæ¹:
# .csproj ã® HintPath ãš packages.config ã®ããŒãžã§ã³ãçªãåããã grep -o 'packages\\[^\\]*\\' *.csproj | sort -u grep -o 'version="[^"]*"' packages.config | sort -u確å®ã«çŽãæé ã¯ãåæã®æ€èšŒçµæã«æ²¿ãã°
Uninstall-PackageâInstall-PackageïŒãŸãã¯Update-PackageïŒã§ãã
ïŒã©ã¡ãã 3 è ã®æŽåæ§ãå埩ãããïŒãæ ¹æ¬çãªå¯ŸåŠã¯ PackageReference ãžã®ç§»è¡ã§ã
ãã¡ãã¯.csprojã® 1 ç®æããç¡ããããããããããªãã
åæ§ã«åç §èšå®ãšã®æŽåæ§ã厩ããã
- ãããžã§ã¯ããã¡ã€ã«ïŒ.csprojã.vbprojïŒå ã®<HintPath></HintPath>ã®ã¿ã°ãä¿®æ£ããã
- è¥ããã¯ãUninstall-Package -> Install-Package ãè¡ãã
NuGet ã¯ãInstall-Package ãè¡ã£ãéã«ãããŒãžã§ã³éã®åé¡ã解決ããããã«ã
"assemblyBinding -> dependentAssembly -> bindingRedirect" ã远å ããã
ãã®ããã
- Update-Package
- Uninstall-Package -> Install-Package
ã«ãã£ãŠ package ã®ããŒãžã§ã³ã倿Žããå Žåãåé¡ãèµ·ããããšãããã
ãã®å ŽåãäžåºŠãassemblyBinding section ãåé€ããåŸã«ã
Add-BindingRedirect ãå®è¡ããŠãbindingRedirect ãåçæããã
è£è¶³ïŒbindingRedirect ãšã¯äœãïŒ: .NET Framework ã¯
åç §ããã¢ã»ã³ããªã®çãå®å šäžèŽããããšãèŠæ±ãã
ïŒã¢ã»ã³ã㪠ã®å³å¯åã«ãã匷ããã€ã³ãïŒã
ãã®ãããããªãã®ã¢ã㪠ââ> LibA 1.0 ââ> Newtonsoft.Json 9.0 ââââ> LibB 2.0 ââ> Newtonsoft.Json 13.0 â LibA 㯠9.0 ãèŠæ±ããããå®éã«çœ®ãããŠããã®ã¯ 13.0 â ããã¡ã€ã«ãŸãã¯ã¢ã»ã³ããªãèªã¿èŸŒããŸããã§ãããã§èœã¡ããšãã DLL Hell ãèµ·ããã
ãããã9.0 ã®èŠæ±ã¯ 13.0 ã§æºããããšèªã¿æ¿ããããã®ã
bindingRedirectïŒapp.config/web.configïŒã§ããã<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" /> <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly>NuGet ããããèªåçæããããã
ããã±ãŒãžã®ããŒãžã§ã³ãäžãäžããããšå€ãèšè¿°ãæ®ã£ãŠççŸããââ
ãšããã®ãåæã®ææããåé¡ã§ããã
察åŠïŒsection ãæ¶ããŠAdd-BindingRedirectã§äœãçŽãïŒã¯çŸåšãæå¹ã.NET Core 以éã§ã¯ããã®åé¡èªäœãååšããªãã
ãã€ã³ãã®è§£æ±ºãdeps.jsonã«åºã¥ãã
**ãåç §ããæ°ããçãããã°ããã䜿ãã**ãšããç·©ãããªèŠåã«ãªã£ãããã
bindingRedirectã¯äžèŠã«ãªã£ãã
.NET Framework ããç§»è¡ããåæ©ã®äžã€ãããã«ããã
-
Updating Assembly Redirects with NuGet - Rick Strahl's Web Log
https://weblog.west-wind.com/posts/2014/Nov/29/Updating-Assembly-Redirects-with-NuGet -
NuGet versioning
- Part 1: taking on DLL Hell - David Ebbo
http://blog.davidebbo.com/2011/01/nuget-versioning-part-1-taking-on-dll.html - Part 2: the core algorithm - David Ebbo
http://blog.davidebbo.com/2011/01/nuget-versioning-part-2-core-algorithm.html - Part 3: unification via binding redirects - David Ebbo
http://blog.davidebbo.com/2011/01/nuget-versioning-part-3-unification-via.html
- Part 1: taking on DLL Hell - David Ebbo
-
åå¿è ãè¿·ã£ãNuGet Packageã®ããŒãžã§ã³ãäžããã
app.configãæé€ããªããã°ã€ã±ãã€ãšãã話 - tmori3y2ã®ããã°
http://tmori3y2.hatenablog.com/entry/2016/02/07/235133- .nuspec ã¯ééãã®ç¡ãããã«æžãããããã㯠MSBuild ã®è©³çްåºåã確èªãã - kendik.net
http://kendik.hatenablog.com/entry/2015/01/27/221240
- .nuspec ã¯ééãã®ç¡ãããã«æžãããããã㯠MSBuild ã®è©³çްåºåã確èªãã - kendik.net
- nuget.config ãçšæãã芪ãã£ã¬ã¯ããªã«é
眮ã
ããã«ãrepositoryPath ãæå®ããããšã§ NuGet ããã±ãŒãžã® DL å ã倿Žã§ãããã
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value=".\sharedpackages" />
</config>
</configuration>-
ãªããæ€èšŒã®çµæããœãªã¥ãŒã·ã§ã³åå²ã«ãã£ãŠã
NuGet ããã±ãŒãžã® DL å ïŒpackagesïŒãåå²ãããæš¡æ§ã
ïŒæ¢å®ã§ã¯ *.sln ãã¡ã€ã«ãšåãé局㫠packages ãã©ã«ããã§ããïŒ -
åŸã£ãŠããã®ã±ãŒã¹ã§ packages ãå ±æãããå Žåã
- ïŒã€ã®ãœãªã¥ãŒã·ã§ã³ã®ã«ãŒãã»ãã£ã¬ã¯ããªã« nuget.config ãé 眮ãããã
- ïŒã€ã®ãœãªã¥ãŒã·ã§ã³ã®å
¶ã
ã®äžäœãã£ã¬ã¯ããªã« nuget.config ãé
眮ãã
åã repositoryPath ãæããã
ã§ã察å¿ãã§ããã
- 以äžã¯ãïŒã€ã® *.sln ãã¡ã€ã«ïŒClassLibrary.slnãConsoleApp1.slnïŒéã§
packages ãå ±æããäŸã
ãã©ã«ã/ãã¡ã€ã«å çš®é¡
-----------------------------------------------------------------------------------------------------
Root1 <Dir>
â ClassLibrary <Dir>
ïœ â ClassLibrary1 <Dir>
ïœ ïœ â Properties <Dir>
ïœ ïœ ïœ â AssemblyInfo.cs <File>
ïœ ïœ â Class1.cs <File>
ïœ ïœ â ClassLibrary1.csproj <File>
ïœ ïœ â packages.config <File>
ïœ â ClassLibrary2 <Dir>
ïœ ïœ â Properties <Dir>
ïœ ïœ ïœ â AssemblyInfo.cs <File>
ïœ ïœ â Class1.cs <File>
ïœ ïœ â ClassLibrary2.csproj <File>
ïœ ïœ â packages.config <File>
ïœ â ClassLibrary.sln <File>
â ConsoleApp1 <Dir>
ïœ â ConsoleApp1 <Dir>
ïœ ïœ â Properties <Dir>
ïœ ïœ ïœ â AssemblyInfo.cs <File>
ïœ ïœ â App.config <File>
ïœ ïœ â ConsoleApp1.csproj <File>
ïœ ïœ â packages.config <File>
ïœ ïœ â Program.cs <File>
ïœ â ConsoleApp1.sln <File>
â sharedpackages <Dir>
ïœ â Newtonsoft.Json.10.0.3 <Dir>
ïœ â lib <Dir>
ïœ â tools <Dir>
ïœ â LICENSE.md <File>
ïœ â Newtonsoft.Json.10.0.3.nupkg <File>
â nuget.config <File>
è£è¶³ïŒPackageReference ã§ã¯äžèŠã«ãªãïŒ: ãã®
ããœãªã¥ãŒã·ã§ã³ããšã«packagesãåè£ããŠéè€ããŠã³ããŒããããã
ãšããåé¡ããPackageReference æ¹åŒã§ã¯çºçããªãã
packages.configPackageReference å®äœã®çœ®ãå Žæ .slnããšã®packages\ãŠãŒã¶ãŒåäœã®ã°ããŒãã« ãã©ã«ã æ¢å®ã®ãã¹ <sln>\packages%USERPROFILE%\.nuget\packageséè€ ãœãªã¥ãŒã·ã§ã³æ°ã ãå¢ãã 1 ã€ãå ±æ èšå®ã㌠repositoryPathglobalPackagesFolder<!-- PackageReference æ¹åŒã§ã°ããŒãã« ãã©ã«ããå€ããå Žå --> <configuration> <config> <add key="globalPackagesFolder" value="D:\nuget-cache" /> </config> </configuration>
repositoryPath㯠PackageReference ã§ã¯å¹ããªãããã
ç§»è¡åŸãå€ãèšå®ãæ®ã£ãŠãããšæ··ä¹±ã®ããšã«ãªãããªããCI ã§æ¯åããŠã³ããŒãããããªãå Žåã¯ã
NUGET_PACKAGESç°å¢å€æ°ã§ãã£ãã·ã¥å Žæãæå®ãã
ãã«ã ãšãŒãžã§ã³ãéã§å ±æããã®ãå®ç³ã§ããã
-
.net - NuGetã®ããã±ãŒãžã®å Žæã倿Žããããšã¯å¯èœã§ããïŒ - visual-studio | CODE Q&A [æ¥æ¬èª]
https://code.i-harness.com/ja/q/3e7357 -
è€æ°ã®ãœãªã¥ãŒã·ã§ã³éã§ NuGet ã®ãªããžããªãå ±æãã - ãã°ããéèš
http://blog.shibayan.jp/entry/20150417/1429269753 -
NuGet ã®åäœã®æ§æ
https://learn.microsoft.com/ja-jp/nuget/consume-packages/configuring-nuget-behavior
NuGet èªäœã®ããŒãžã§ã³ãïŒNuGet 2.7 以éã«ïŒäžãããšããªã¹ãã¢æ¹æ³ã倿Žã«ãªãã
ãã®å Žåã以äžã®ããã«ããªã¹ãã¢æ¹æ³ããã€ã°ã¬ãŒã·ã§ã³ããå¿ èŠãããã
- Issue #220 · OpenTouryoProject/OpenTouryo
This project references NuGet package(s) that are missing on this computer....
https://github.com/OpenTouryoProject/OpenTouryo/issues/220
-
c# - How do I Enable NuGet Package Restore in Visual Studio 2015 - Stack Overflow
http://stackoverflow.com/questions/27895504/how-do-i-enable-nuget-package-restore-in-visual-studio-2015 -
NuGet 2.7ãžã¢ããã°ã¬ãŒãããå Žåã®ãããžã§ã¯ããã¡ã€ã«å€æŽæ¹æ³(ä»»æ) - kkamegawa's weblog
http://kkamegawa.hatenablog.jp/entry/20130825/p1 -
NuGet Package Restore
https://learn.microsoft.com/ja-jp/nuget/consume-packages/package-restore
Visual Studio 2017 ããã¯ãpackages.config ã§ã¯ãªãã
Project ãã¡ã€ã«ã«çµ±åããã Package Reference ã䜿çšã§ããã
- æ°ãã csproj åœ¢åŒ | ++C++; // æªç¢ºèªé£è¡ C ããã°
http://ufcpp.net/blog/2017/5/newcsproj/ - Visual Studio 2017 ã§ã® NuGet ã¢ããããŒããè¯ãæãã ã£ã - ãã°ããéèš
http://blog.shibayan.jp/entry/20170201/1485878757
ãã ããäžéšåé¡ã芳枬ããŠããã
è£è¶³ïŒç§»è¡æé ïŒææ°åïŒ: çŸåšã¯
packages.configâ PackageReference ã®ç§»è¡ãæšå¥šãããŠããã
Visual Studio ã«ç§»è¡æ©èœãçšæãããŠããããœãªã¥ãŒã·ã§ã³ ãšã¯ã¹ãããŒã©ãŒã§ packages.config ãå³ã¯ãªã㯠â [packages.config ã PackageReference ã«ç§»è¡ãã]ç§»è¡ã«ãã£ãŠåŸããããã®:
广 å 容 3 è ã®äºé管çãæ¶ãã .csproj1 ç®æã«ãªãæšç§»çäŸåãæç€ºãããªããªã çŽæ¥äœ¿ããã®ã ãæžãã°ãã ãã£ã¹ã¯äœ¿çšéã®åæž ã°ããŒãã« ãã©ã«ããå ±æ binã®è¥å€§åãæžãå¿ èŠãªãã®ã ãåºå dotnetCLI ã䜿ããCI ãã·ã³ãã«ã«ãªã 泚æç¹:
install.ps1/uninstall.ps1ãæã€ããã±ãŒãžã¯åããªã
ïŒPackageReference 㯠PowerShell ã¹ã¯ãªãããå®è¡ããªãïŒcontentãã©ã«ãã§èšå®ãã¡ã€ã«ãé ãããã±ãŒãžãåæ§
ïŒcontentFilesãžã®å¯Ÿå¿ãå¿ èŠïŒ- æšç§»çäŸåãèªåã§è§£æ±ºãããããã
ãããŸã§æç€ºãããŠããäŸåã.csprojããæ¶ãã
ïŒåæã .NET Core ã®å Žå ã§è§Šãã NU1701 çã®
æåå·®ã«ãã€ãªããïŒåæãæããäžéšåé¡ãïŒCS0246ïŒãã
ãã®æšç§»çäŸåã®æ±ãã®éãã«èµ·å ãããã®ã§ããã
-
.NET Core ã§ããã«ãåºåã« NuGet ãªãã¡ã¬ã³ã¹ãã³ããŒãããªãã
- 以äžã csproj ãã¡ã€ã«ã«è¿œå ãããš NuGet ãªãã¡ã¬ã³ã¹ããã«ãåºåã«ã³ããŒããã
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>-
åè
- c# - How to get .NET Core projects to copy NuGet references to build output? - Stack Overflow
https://stackoverflow.com/questions/43837638/how-to-get-net-core-projects-to-copy-nuget-references-to-build-output
- c# - How to get .NET Core projects to copy NuGet references to build output? - Stack Overflow
-
NuGet Warning NU1701
-
net ãã netcoreapp ã®ããã±ãŒãžãåç §ããå Žåãªã©ã«çºçããã
-
net ãš netstandard ã®ã¢ã»ã³ããªã忢±ãã NuGet ããã±ãŒãžã§ã¯ã
dependencies - group - targetFrameworkã§è§£æ±ºã§ããã -
åè
- Several warnings building on .Net Core · Issue #559 · Azure/Azure-Functions
https://github.com/Azure/Azure-Functions/issues/559
- Several warnings building on .Net Core · Issue #559 · Azure/Azure-Functions
-
è£è¶³ïŒ
CopyLocalLockFileAssembliesãèŠãçç±ïŒ: .NET Core ã§ã¯ã
dotnet buildã®åºåïŒbin\ïŒã«äŸå DLL ãå ¥ããªãããšãããã
ããã¯ãå®è¡æã«deps.jsonãèŠãŠã°ããŒãã« ãã©ã«ããã解決ããã
ãšããèšèšã®ããã§ãäžå ·åã§ã¯ãªãããdotnet run / dotnet publishã deps.json çµç±ã§è§£æ±ºããã â åé¡ãªã ãbin\ ããã®ãŸãŸã³ããŒããŠå¥ã®å Žæã§åããã ã°ããŒãã« ãã©ã«ããç¡ã â èŠã€ãããªããã®ããã
ç¶æ³ å¯ŸåŠ éåžžã®é 眮 dotnet publishã䜿ãïŒãã¹ãŠæãïŒã¯ã©ã¹ ã©ã€ãã©ãªãä»æã«æž¡ã CopyLocalLockFileAssembliesãã©ã°ã€ã³ DLL ãäœã CopyLocalLockFileAssemblies+EnableDynamicLoading**ååã¯ã
dotnet publishã䜿ãã**ã§ããã
CopyLocalLockFileAssembliesã¯
ãã«ãåºåãçŽæ¥é ãå¿ èŠãããå Žåã®åé¿çãšäœçœ®ã¥ãããã
ïŒ.NET Coreã®ãããã€ïŒãNU1701 ã¯ã
ã.NET Framework çšã®ããã±ãŒãžã .NET Core ç³»ããåç §ããã
ãšããèŠåã§ãããåãããšããããä¿èšŒãããªãããã
netstandard2.0察å¿çããããæ¢ãïŒç¬¬äžåè£ïŒ- ç¡ããã°ä»£æ¿ã©ã€ãã©ãªãæ¢ã
- ã©ãããŠãå¿ èŠãªã
NoWarnã§ææ¢ããåäœç¢ºèªãåããããšããé ã§æ€èšããã
-
.NET çšããã±ãŒãžãããŒãžã£ãŒ NuGet ã®ã€ã³ã¹ããŒã«ãšäœ¿ãæ¹
http://yohshiy.blog.fc2.com/blog-entry-236.html -
.NETéçºã®æ°æšæºãNuGetãå ¥é ïŒ ïŒ IT
- NuGet Gallery | Home
https://www.nuget.org/
çŸåšç»é²ãããŠãã NuGet ããã±ãŒãžãæ€çŽ¢å¯èœ
- NuGet Docs
https://learn.microsoft.com/ja-jp/nuget/
NuGet ã®æ©èœãäœ¿ãæ¹ãªã©ã®ããã¥ã¡ã³ããé²èЧå¯èœ
-
NuGet ããã±ãŒãž ãããŒãžã£ãŒ UI ãªãã¡ã¬ã³ã¹
https://learn.microsoft.com/ja-jp/nuget/consume-packages/install-use-packages-visual-studio -
NuGet ããã±ãŒãž ãããŒãžã£ãŒ ã³ã³ãœãŒã«ã®ã¬ã€ã
https://learn.microsoft.com/ja-jp/nuget/consume-packages/install-use-packages-powershell -
NuGet ã³ãã³ã ã©ã€ã³ ã€ã³ã¿ãŒãã§ã€ã¹ (CLI) ã®ãªãã¡ã¬ã³ã¹
https://learn.microsoft.com/ja-jp/nuget/reference/nuget-exe-cli-reference -
dotnet CLI ã§ã® NuGet ã®æäœ
https://learn.microsoft.com/ja-jp/nuget/consume-packages/install-use-packages-dotnet-cli
- NuGet ã® Install-Package ã® PowerShell ãªãã¡ã¬ã³ã¹
https://learn.microsoft.com/ja-jp/nuget/reference/ps-reference/ps-ref-install-package - NuGet ã® Update-Package ã® PowerShell ãªãã¡ã¬ã³ã¹
https://learn.microsoft.com/ja-jp/nuget/reference/ps-reference/ps-ref-update-package - NuGet ã® Uninstall-Package ã® PowerShell ãªãã¡ã¬ã³ã¹
https://learn.microsoft.com/ja-jp/nuget/reference/ps-reference/ps-ref-uninstall-package
- packages.config ãã PackageReference ãžã®ç§»è¡
https://learn.microsoft.com/ja-jp/nuget/consume-packages/migrate-packages-config-to-package-reference - äžå€®ããã±ãŒãžç®¡çïŒCentral Package ManagementïŒ
https://learn.microsoft.com/ja-jp/nuget/consume-packages/central-package-management
Tags: ç§»è¡, .NETéçº, ãããã€, NuGet