다운로드하기 전에 패키지의 크기를 알 수있는 방법이 있는지 궁금합니다. 구성 요소를 배포하는 데 nuget 패키지를 사용하고 있으며 업데이트 크기를 알면 좋은 기능입니다.nuget.core를 사용하여 패키지 크기를 얻는 방법은 무엇입니까?
1
A
답변
0
패키지 크기는 다시 NuGet gallery package source의 응답에 반환됩니다
<d:PackageSize m:type="Edm.Int64">223865</d:PackageSize>
불행하게도이 PackageSize가 다시 NuGet.Core.dll에서 얻을 패키지 개체에서 사용할 수 없습니다.
PackageSize를 얻는 한 가지 방법은 NuGet의 소스 코드에서 DataServicePackageRepository 클래스와 DataServicePackage 클래스를 가져 와서 DataServicePackage 개체에서 PackageSize 속성을 사용할 수 있도록 수정하는 것입니다.
public long PackageSize { get; set; }
나는이 두 클래스를 가져다 CustomDataServicePackageRepository 및 CustomDataServicePackage로 그들을 이름.
응용 프로그램에이 두 클래스를 포함하고 사용자 지정 DataServicePackage 클래스에 반환 된 IPackage를 캐스팅 한 다음이를 사용하여 PackageSize 속성에 액세스 할 수 있습니다.
var repo = new CustomDataServicePackageRepository(new Uri("https://www.nuget.org/api/v2/"));
var packages = repo.Search(null, false)
.Where(package => package.IsLatestVersion)
.OrderByDescending(package => package.DownloadCount)
.AsBufferedEnumerable(30)
.Where(package => package.IsReleaseVersion())
.Take(10);
foreach (IPackage package in packages) {
var dataServicePackage = package as CustomDataServicePackage;
long size = dataServicePackage == null ? -1 : dataServicePackage.PackageSize;
Console.WriteLine("Package: {0}, Size: {1}", package.ToString(), size);
}
NuGet 자체는 PackageSize를 사용하지 않습니다. 대신 NuGet 패키지의 다운로드를 시작하고 HTTP 응답에서 반환 된 ContentLength를보고 NuGet 패키지의 크기를 찾습니다. 그런 다음 Visual Studio에서 진행율을 표시하는 데 사용됩니다.
관련 문제
- 1. 어셈블리를 사용하여 아키텍처 크기를 얻는 방법은 무엇입니까?
- 2. JPopupMenu의 크기를 얻는 방법은 무엇입니까?
- 3. 초기화되기 전에 CCSprite의 크기를 얻는 방법은 무엇입니까?
- 4. OpenGL에서 백 버퍼 크기를 얻는 방법은 무엇입니까?
- 5. 원격 파일의 크기를 얻는 방법은 무엇입니까?
- 6. 동적 배열의 메모리 크기를 얻는 방법은 무엇입니까?
- 7. 그림에서 날짜와 파일 크기를 얻는 방법은 무엇입니까?
- 8. myget 패키지 소스를 얻는 방법은 무엇입니까?
- 9. 마지막으로 설치된 패키지 이름을 얻는 방법은 무엇입니까?
- 10. matchView에 설정된 imagView의 크기를 얻는 방법은 무엇입니까?
- 11. Outlook 메일 항목의 크기를 얻는 방법은 무엇입니까?
- 12. python-apt를 사용하여 패키지 설명을 얻는 방법은 무엇입니까?
- 13. 반영을 사용하여 이름으로 패키지 const 값을 얻는 방법은 무엇입니까?
- 14. 레이아웃에있는 QGraphicsView의 크기를 얻는 방법은 무엇입니까?
- 15. 장치의 실제 크기를 얻는 방법은 무엇입니까?
- 16. 전체 페이지로드의 전송 크기를 얻는 방법은 무엇입니까?
- 17. jQuery를 사용하여 파일에서 이미지 크기를 얻는 방법은 무엇입니까?
- 18. iPhone SDK를 사용하여 원격 파일의 크기를 얻는 방법은 무엇입니까?
- 19. Java를 사용하여 하드 디스크의 RAM 크기와 크기를 얻는 방법은 무엇입니까?
- 20. iOS에서 NSURLRequest를 사용하여 서버에서 파일 크기를 얻는 방법은 무엇입니까?
- 21. Netty를 사용하여 http 요청/응답 헤더의 크기를 얻는 방법은 무엇입니까?
- 22. C에서이 배열에 대한 포인터를 사용하여 배열의 크기를 얻는 방법은 무엇입니까?
- 23. 100 % 확대시 DIV의 크기를 얻는 방법은 무엇입니까?
- 24. 특정 파일 세트의 크기를 얻는 방법은 무엇입니까?
- 25. 웹 페이지의 글꼴 크기를 얻는 방법은 무엇입니까?
- 26. NSButton의 기본 크기를 얻는 방법은 무엇입니까?
- 27. 자바 스크립트에서 이미지의 크기를 얻는 방법은 무엇입니까?
- 28. 활동 스택의 크기를 얻는 방법은 무엇입니까?
- 29. QLPreviewView의 콘텐츠 크기를 얻는 방법은 무엇입니까?
- 30. 전체지도의 픽셀 크기를 얻는 방법은 무엇입니까?
위대한 당신, 감사합니다 –
왜 nuget 기본적으로 정보를 제공하지 않습니다. 나는 페이지의 크기를 얻기 위해서 무언가를 프로그램해야한다고 생각하지 않는다. – batmaci