更改为发布时无法加载文件或程序集 (nopcommerce 3.5)

Could not load file or assembly (nopcommerce 3.5) when changing to release

我有一个新的 nopcommerce 3.5 网站要发布 在调试时一切都很好 但是当我更改为发布时,我收到了这个错误

Error   1   Could not load file or assembly 'file:///C:\Users\User\Desktop\nop\packages\Autofac.3.5.2\lib\net40\Autofac.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)   C:\Users\User\Desktop\nop\Libraries\Nop.Services\SGEN   Nop.Services

我浏览了整个网络,尽了我所能,但就是没用

我做了什么

  1. 清理并重建
  2. 重启对比
  3. 我重新下载了一份新的代码,同样的事情发生了
  4. 删除所有引用并重建

好的,我就是这样解决的。

文件已被 windows 锁定,并且仅在调试

中可见

我必须转到错误中出现的每个 .dll 文件, 在属性中有一个按钮 UNBLOCK,我应用了更改错误消失了

您可以使用 Windows PowerShell 从根文件夹中执行此操作,而不是一个一个地取消阻止所有文件:

目录 D:\Projects\Nop -递归 |解锁文件

要取消阻止文件,请在 Windows Powershell 上使用此命令:

gci PASTE_FOLDER_PATH_HERE\*.dll -Recurse | Unblock-File

1) "gci"用于加载指定路径下的所有文件。
2) "-Recurse" 用于加载位于指定路径下的子文件夹中的文件。

是的,它对我有用,右键单击 NopCommerce\packages\Autofac.3.5.2\lib\net40\AutoFac.dll 然后 Unblock & 最后点击 OK, 它将解决这个问题。我通过这种方式解决了这个问题。

get-childitem *.*| Unblock-File 

对于 PowerShell 选项有限的用户:

FOR %a in (*.*) do (echo.>%a:Zone.Identifier)