DNN 无法在 zip 文件中找到在 dnn 中指定的身份验证提供程序 sd 文件

DNN Fail to install Authentication Provider sd file specified in the dnn could not be found in the zip file

我正在尝试安装第三方身份验证提供程序。当我尝试使用安装扩展向导安装压缩文件夹时,它无法找到该文件,即使它既在 zip 中又在我网站上的文件夹 DesktopModules/AuthenticationServices/Fellows/ 中。我很困惑,因为我已经能够安装其他模块并且读取文件没有问题。

部分.dnn文件代码:

<components>
    <component type="AuthenticationSystem">
      <authenticationService>
        <type>FellowsAuthentication</type>
        <settingsControlSrc>DesktopModules/AuthenticationServices/Fellows/Settings.ascx</settingsControlSrc>
        <loginControlSrc>DesktopModules/AuthenticationServices/Fellows/Login.ascx</loginControlSrc>
        <logoffControlSrc />
      </authenticationService>
    </component>
    <component type="File">
      <files>
        <basePath>DesktopModules/AuthenticationServices/Fellows</basePath>
        <file>
          <path>App_LocalResources</path>
          <name>Login.ascx.resx</name>
           </file>

我收到错误消息:

  Failure File specified in the dnn could not be found in the zip file: - E:\DNN\Install\Temp\z2ypiwfl\App_LocalResources\Login.ascx.resx

很奇怪,它似乎试图从临时文件夹中读取它们。这是为什么?

问题出在 zip 文件本身。安装时,dnn 期望文件位于临时文件夹中。

\Install\Temp\j1hnum0c\FellowsAuthentication.dnn

但是在 zip 中有文件夹和文件一起压缩在里面 \AuthenticationServices\Fellows,所以 DNN 临时文件夹中的解压缩路径变成

\Install\Temp\j1hnum0c\AuthenticationServices\Fellows\FellowsAuthentication.dnn

因此安装程序找不到 .dnn 文件并且安装失败。解压缩文件并重新压缩 zip 中 Fellows 的内容。然后就可以了,测试了。

zip 文件只应包含。

FellowsAuthentication.dnn
Login.ascx
Login.ascx.cs
Settings.ascx
Settings.ascx.cs

App_LocalResources
    Login.ascx.resx
    Settings.ascx.resx