Tôi hiện đang đóng gói một số tệp và đẩy chúng vào nguồn cấp dữ liệu NuGet trên một trong các máy chủ của chúng tôi bằng công cụ dòng lệnh. Thay vì sử dụng công cụ dòng lệnh, tôi đã thiết lập một dự án bằng Nuget.Core và quản lý thành công để tạo một gói. Tôi đang cố gắng đẩy gói đó từ máy tính của tôi vào nguồn cấp dữ liệu NuGet thông qua NuGet.Core. Sử dụng công cụ dòng lệnh mà trông như thế này (và tôi đã làm việc này quá):Đẩy gói NuGet lập trình bằng NuGet.Core
nuget.exe push package.nupkg -ApiKey MYAPIKEY -Source http://nugetpackagefeedaddress
Những gì tôi muốn làm là tái tạo chức năng đẩy sử dụng NuGet.Core. Gần nhất tôi đã quản lý để có được cho đến nay là nhận được hai kho từ PackageRepositoryFactory
, một cho đường dẫn máy địa phương và một cho nguồn cấp dữ liệu gói và sau đó lấy gói từ một địa phương và thử và thêm nó vào nguồn cấp dữ liệu như thế này:
var remoteRepo = PackageRepositoryFactory.Default.CreateRepository("myNugetPackagefeedUrl");
var localRepo = PackageRepositoryFactory.Default.CreateRepository(@"locationOfLocalPackage");
var package = localRepo.FindPackagesById("packageId").First();
remoteRepo.AddPackage(package);
mã này kết quả trong một NotSupportedException
nêu rõ 'phương pháp chỉ định không được hỗ trợ'
có thể đẩy gói sử dụng NuGet.Core? và tôi có ở gần nó với mã ở trên không?
Lưu ý: Tôi biết rằng tôi có thể kết thúc cuộc gọi tới nuget.exe và gọi từ .NET nhưng tôi muốn gửi và chuyển từ NuGet.Core hoặc thực hiện cả hai bằng cách gói các cuộc gọi đến nuget.exe thay vì một nửa và một nửa