将NuGet与带有Web部署项目的ASP.NET“Web站点”项目中的* .dll.refresh文件一起使用

前端之家收集整理的这篇文章主要介绍了将NuGet与带有Web部署项目的ASP.NET“Web站点”项目中的* .dll.refresh文件一起使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果您有一个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目录中.

猜你在找的HTML相关文章