gpt4 book ai didi

asp.net - 将 NuGet 与 ASP.NET "Web Site"项目中的 *.dll.refresh 文件与 Web 部署项目一起使用

转载 作者:行者123 更新时间:2023-12-04 03:30:32 24 4
gpt4 key购买 nike

如果你有一个 ASP.NET 网站项目类型(没有正确的 .csproj 或 .vpproj 项目文件,那只是一个松散文件的文件夹),那么当你用 NuGet 添加一个包时,它会生成一个 *.dll Bin 目录中的 .refresh 文件以引用父包文件夹中的包的 dll。

例如,如果您从包管理器控制台执行“install-package elmah”,那么 Elmah 将放置在项目解决方案目录中的包文件夹中,而文件 Elmah.dll.refresh 将放置在项目的 Bin 文件夹中。

当我在本地构建项目时,Visual Studio 会自动拉入刷新文件引用的 DLL。该站点和 Elmah 运行正常。我没有将位于项目 Bin 目录中的 Elmah.dll 文件 checkin 源代码管理(仅 checkin 刷新文件和包文件夹)。

但是,我使用 Web 部署项目来预编译站点并为部署执行 web.config 替换。以这种方式构建解决方案时,Elmah.dll 不会自动拉入网站项目 Bin 目录,并且由于缺少 DLL,网站无法正常运行。

NuGet 打算如何用于这种场景?我是否应该检查 Bin 目录中的 Elmah.dll?

最佳答案

这是基于 GC. 上面的解决方案。
添加类库 (csproj) 并在网站项目中引用该类库。
将 nuget 包添加到类库中。
在类库中,实际上引用了某个类文件中的 nuget 包 .也许创建一个一次性实例或其他东西。您可以使用包中包含的任何类。这会强制将 .dll 复制到网站项目中的 Bin 目录。

关于asp.net - 将 NuGet 与 ASP.NET "Web Site"项目中的 *.dll.refresh 文件与 Web 部署项目一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5976406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com