微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将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目录中.

原文地址:https://www.jb51.cc/html/227509.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐