首页 > 解决方案 > 如何让卷影副本与 .NET 6.0(测试版)一起使用

问题描述

有没有人幸运地让实验性的“影子副本”与 .NET6 和 IIS 一起工作?我有一个 IIS 应用程序指向我的 .NET 5.0 Web API 项目的根文件夹。我第一次编译,然后使用 Postman 测试 API,效果很好。但在那之后......我无法编译,因为 dll 被 IIS 锁定。

我遵循了这些在线资源的建议:

https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-net-6-preview-3/#shadow-copying-in-iis

https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-3/

https://dotnet.microsoft.com/download/dotnet/6.0

https://suhailmahmood.medium.com/asp-net-core-web-app-hosted-on-iis-without-publishing-aa238fe5c884

...并安装了 .NET Core 托管捆绑包 6.0。之后,我更改了 web.config 以包含以下设置:

<handlerSettings>
      <handlerSetting name="experimentalEnableShadowCopy" value="true" />
      <handlerSetting name="shadowCopyDirectory" value="./ShadowCopyDirectory/" />
    </handlerSettings>

我第一次运行应用程序时……影子副本确实出现在指定的影子副本目录中,这似乎表明它正在工作。但是,一旦我再次尝试编译......文件仍然像以前一样被锁定。

有没有人遇到过同样的问题,并想出了如何解决它?

标签: iisasp.net-core-webapi.net-5.net-6.0

解决方案


我可以让它在远程服务器部署上工作,以实现自定义部署管道。我猜想在调试模式下运行 localy 会导致锁定。


推荐阅读