NuGetGallery 프로젝트에서 /Controllers/ApiController
의 CreatePackageInternal
메서드로 이동하여 return
문 앞에이 줄을 호출하십시오.
IndexingService.UpdateIndex(true);
코드는 다음과
private async Task<ActionResult> CreatePackageInternal()
{
// Get the user
var user = GetCurrentUser();
using (var packageToPush = ReadPackageFromRequest())
{
if (packageToPush.Metadata.MinClientVersion > typeof(Manifest).Assembly.GetName().Version)
{
return new HttpStatusCodeWithBodyResult(HttpStatusCode.BadRequest, String.Format(
CultureInfo.CurrentCulture,
Strings.UploadPackage_MinClientVersionOutOfRange,
packageToPush.Metadata.MinClientVersion));
}
// Ensure that the user can push packages for this partialId.
var packageRegistration = PackageService.FindPackageRegistrationById(packageToPush.Metadata.Id);
if (packageRegistration != null)
{
if (!packageRegistration.IsOwner(user))
{
return new HttpStatusCodeWithBodyResult(HttpStatusCode.Forbidden, Strings.ApiKeyNotAuthorized);
}
// Check if a particular Id-Version combination already exists. We eventually need to remove this check.
string normalizedVersion = packageToPush.Metadata.Version.ToNormalizedString();
bool packageExists =
packageRegistration.Packages.Any(
p => String.Equals(
p.NormalizedVersion,
normalizedVersion,
StringComparison.OrdinalIgnoreCase));
if (packageExists)
{
return new HttpStatusCodeWithBodyResult(
HttpStatusCode.Conflict,
String.Format(CultureInfo.CurrentCulture, Strings.PackageExistsAndCannotBeModified,
packageToPush.Metadata.Id, packageToPush.Metadata.Version.ToNormalizedStringSafe()));
}
}
var package = PackageService.CreatePackage(packageToPush, user, commitChanges: false);
AutoCuratePackage.Execute(package, packageToPush, commitChanges: false);
EntitiesContext.SaveChanges();
using (Stream uploadStream = packageToPush.GetStream())
{
await PackageFileService.SavePackageFileAsync(package, uploadStream);
}
}
IndexingService.UpdateIndex(true);
return new HttpStatusCodeResult(HttpStatusCode.Created);
}
과 같이해야합니다