Der*_*son 10 asp.net web-deployment-project build-server nuget
如果您有一个ASP.NET Web站点项目类型(没有正确的.csproj或.vpproj项目文件而且只是一个松散文件的文件夹),那么当您使用NuGet添加一个包时,它会生成一个*.dll Bin目录中的.refresh文件,用于引用父包文件夹中的包的dll.
例如,如果从程序包管理器控制台执行"install-package elmah",则将Elmah放在项目解决方案目录的packages文件夹中,并将文件Elmah.dll.refresh放在项目的Bin文件夹中.
当我在本地构建项目时,Visual Studio会自动引入刷新文件引用的DLL.该网站和Elmah运行正常.我没有将项目的Bin目录中的Elmah.dll文件签入源代码控制(只检查了刷新文件和packages文件夹).
但是,我正在使用Web部署项目预编译站点并执行web.config替换以进行部署.当以这种方式构建解决方案时,Elmah.dll不会自动被拉入网站项目Bin目录,并且由于缺少DLL,该站点无法正常运行.
NuGet打算如何在这种情况下使用?我想在Bin目录中检查Elmah.dll吗?
这是基于GC.的解决方案.添加一个类库(csproj)并在网站项目中引用该类库.将nuget包添加到类库中.在类库中,实际引用某些类文件中的nuget包.也许创建一个一次性的实例或其他东西.您可以使用包中包含的任何类.这会强制将.dll复制到网站项目中的Bin目录.
- 编辑 - 请参阅上面的此解决方案的更新版本.
只需向解决方案添加一个类库项目,并将类库项目的引用添加到您的网站.
然后,在类库中添加nuget,而不是网站项目.
当您的网站构建时,它依次提取所有类库的依赖项.
| 归档时间: |
|
| 查看次数: |
5305 次 |
| 最近记录: |