โซลูชันที่เสนอในบันทึกย่อประจำรุ่นสำหรับ 2.1 ไม่สามารถใช้งานได้ทันที พวกเขาลืมที่จะพูดถึงว่ามีรหัส:
internal string ResolveInstallPath()
{
if (!string.IsNullOrEmpty(this.OutputDirectory))
{
return this.OutputDirectory;
}
ISettings settings = this._configSettings;
...
}
ซึ่งป้องกันไม่ให้มันทำงาน ในการแก้ไขปัญหานี้คุณต้องแก้ไขไฟล์ NuGet.targets ของคุณและลบพารามิเตอร์ 'OutputDirectory':
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch)</RestoreCommand>
ดังนั้นตอนนี้ถ้าคุณเพิ่ม 'repositoryPath' config ใน NuGet.config (ดูบันทึกประจำรุ่นสำหรับคำอธิบายของสถานที่ที่ถูกต้องในการวางไฟล์ปรับแต่ง) มันจะคืนค่าแพ็คเกจทั้งหมดในที่เดียว แต่ ... .csproj ของคุณยังคง มีคำแนะนำสำหรับแอสเซมบลีที่เขียนเป็นเส้นทางที่สัมพันธ์กัน ...
ฉันยังไม่เข้าใจว่าทำไมพวกเขาถึงลำบากแทนที่จะเปลี่ยน PackageManager ดังนั้นมันจะเพิ่มเส้นทางคำใบ้ที่เกี่ยวข้องกับ PackagesDir นั่นคือวิธีที่ฉันทำด้วยตนเองเพื่อให้มีตำแหน่งของแพคเกจต่าง ๆ บนเครื่อง (บนเดสก์ท็อปของฉัน) และในตัวสร้างเอเจนต์
<Reference Include="Autofac.Configuration, Version=2.6.3.862, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>$(PackagesDir)\Autofac.2.6.3.862\lib\NET40\Autofac.Configuration.dll</HintPath>
</Reference>