写在前面
有时我们不想对外公开源码,同时又想在VisualStudio中通过Nuget包管理器来统一管理这些内部动态库,这时就可以在本地搭建一个NuGet服务器。
操作步骤
1.下载BaGet
这是一个轻量级的NuGet服务器
2.部署BaGet
将下载好的release版本BaGet解压至 C:\inetpub\wwwroot\BaGet
在IIS中新建应用程序池
新建网站,并指定BaGetAppPool 作为应用程序池,绑定域名 test.com
重点来了,修改BaGet站点下的 web.config 配置
XML
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<modules>
<remove name="WebDAVModule"/>
<remove name="WebDAV" />
</modules>
<aspNetCore processPath="dotnet" arguments=".\BaGet.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly" />
</system.webServer>
</configuration>
修改appsettings.json配置
javascript
{
"ApiKey": "ACMR",
"Urls":"http://*:82",
"PackageDeletionBehavior": "HardDelete",
"AllowPackageOverwrites": true,
"Database": {
"Type": "Sqlite",
"ConnectionString": "Data Source=baget.db"
},
"Storage": {
"Type": "FileSystem",
"Path": ""
},
"Search": {
"Type": "Database"
},
"Mirror": {
"Enabled": true,
// Uncomment this to use the NuGet v2 protocol
//"Legacy": true,
"PackageSource": "https://api.nuget.org/v3/index.json"
},
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Microsoft.Hosting.Lifetime": "Information",
"Default": "Warning"
}
}
}
}
3.修改hosts 映射
C:\Windows\System32\drivers\etc\hosts
127.0.0.1 test.com
这样就可以在本地模拟通过域名来访问了。
运行示例
接下来把做好的nuget包 推上去就可以了。