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>
तो अब, अगर आप NuGet.config में कहीं भी 'रिपॉजिटरीपाठ' कॉन्फिगर जोड़ते हैं (कॉन्फिग फाइल्स डालने के लिए मान्य स्थानों के विवरण के लिए रिलीज़ नोट देखें), यह सभी पैकेजों को सिंगल लोकेशन में रिस्टोर करेगा, लेकिन ... आपका .cspjj अभी भी। रिश्तेदार पथ के रूप में लिखे विधानसभाओं के संकेत हैं ...
मुझे अभी भी समझ में नहीं आया कि वे पैकेज मैनजर को बदलने के बजाय कठिन रास्ते पर क्यों गए ताकि यह पैकेजडिर के सापेक्ष संकेत पथ जोड़ देगा। यही कारण है कि मैं मैन्युअल रूप से स्थानीय रूप से (मेरे डेस्कटॉप पर) और बिल्ड एजेंट पर अलग-अलग पैकेज स्थान रखता हूं।
<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>