我試圖以編程方式安裝一個簡單的NuGet包。我創建了一個包含Site.css文件的包。所以它駐留在包的內容文件夾中。安裝NuGet包編程
使用此代碼
public void TestInstall(string packageID, string physicalPath)
{
var rep = PackageRepositoryFactory.Default.CreateRepository(new PackageSource("http://nuget.testserver.lan/nuget", "Default"));
var packagemgr = new PackageManager(
rep,
new DefaultPackagePathResolver("http://nuget.testserver.lan/nuget"),
new PhysicalFileSystem(physicalPath)
);
var package = rep.FindPackagesById(packageID).First();
packagemgr.InstallPackage(package, false);
}
可以說,我提供包ID = 'Testpackage' 和physicalPath = 'C:\的Inetpub \測試' 它創建:
C:\的Inetpub \測試\ Testpackage
和文件夾包含:
用的site.css和Testpackage.0.1.nupkg
012的內容文件夾不太我想要做的,但那種:)
是否有可能改變它,以便:
我可以指定它應該放在包的緩存功能
讓它無論放置駐留在內容文件夾到指定的路徑?
如果包中包含的DLL在lib文件夾讓他們走在bin目錄(創建,如果不存在)
不幸的是,直接PackageManager API是不是靈活。但是你可以看看它在內部做了什麼,並改變了行爲。 – davidfowl 2011-05-07 02:15:18