【问题标题】:Azure git deploy fails after updating to MVC 5.2.2更新到 MVC 5.2.2 后 Azure git deploy 失败
【发布时间】:2014-12-26 05:10:56
【问题描述】:

我有一个 azure 站点,该站点运行良好,可从 github 自动部署 git。现在我已更新站点以使用 ASP.Net MVC 5.2.2,但部署失败并显示“找不到类型或命名空间名称 'AllowAnonymous'”。

该站点在我的本地计算机上构建得很好,即使我将它克隆到一个干净的目录,以便必须再次下载 nuget 包。

在失败的 csproj 文件中对 MVC 包的引用表明它错误地引用了这些包,而不是某些 GACed dll。

<Reference Include="System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.2\lib\net45\System.Web.Mvc.dll</HintPath>
</Reference>

构建失败的最新版本是https://github.com/KentorIT/authservices/commit/665fad58e64646da72ccc58ff080e0f7d71cc234。

完全错误

命令:“D:\home\site\deployments\tools\deploy.cmd”

处理 .NET Web 应用程序部署。

Kentor.AuthServices -> D:\home\site\repository\Kentor.AuthServices\bin\Release\Kentor.AuthServices.dll

AuthServicesController.cs(13,6):错误 CS0246:找不到类型或命名空间名称“AllowAnonymous”(您是否缺少 using 指令或程序集引用?) [D:\home\site\repository\ Kentor.AuthServices.Mvc\Kentor.AuthServices.Mvc.csproj]

AuthServicesController.cs(13,6):错误 CS0246:找不到类型或命名空间名称“AllowAnonymousAttribute”(您是否缺少 using 指令或程序集引用?) [D:\home\site\repository\ Kentor.AuthServices.Mvc\Kentor.AuthServices.Mvc.csproj]

exitCode=1 失败,command="D:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "D:\home\site\repository\Kentor.AuthServices.StubIdp\Kentor.AuthServices. StubIdp.csproj" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="C:\DWASFiles\Sites\~1stubidp\Temp\3173ac06-c440-4bd9-a8c5-f27fecf3d007";AutoParameterizationWebConfigConnectionStrings=false ;配置=发布 /p:配置=发布

网站部署过程中发生错误。

处理 .NET Web 应用程序部署。

Kentor.AuthServices -> D:\home\site\repository\Kentor.AuthServices\bin\Release\Kentor.AuthServices.dll

AuthServicesController.cs(13,6):错误 CS0246:找不到类型或命名空间名称“AllowAnonymous”(您是否缺少 using 指令或程序集引用?) [D:\home\site\repository\ Kentor.AuthServices.Mvc\Kentor.AuthServices.Mvc.csproj]

AuthServicesController.cs(13,6):错误 CS0246:找不到类型或命名空间名称“AllowAnonymousAttribute”(您是否缺少 using 指令或程序集引用?) [D:\home\site\repository\ Kentor.AuthServices.Mvc\Kentor.AuthServices.Mvc.csproj]

exitCode=1 失败,command="D:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "D:\home\site\repository\Kentor.AuthServices.StubIdp\Kentor.AuthServices. StubIdp.csproj" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="C:\DWASFiles\Sites\~1stubidp\Temp\3173ac06-c440-4bd9-a8c5-f27fecf3d007";AutoParameterizationWebConfigConnectionStrings=false ;配置=发布 /p:配置=发布

网站部署过程中发生错误。

D:\Program Files (x86)\SiteExtensions\Kudu\30.31023.1215\bin\scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"

【问题讨论】:

    标签: azure azure-git-deployment


    【解决方案1】:

    存储库包含多个解决方案文件,作为部署过程的一部分运行的 nuget restore 命令不支持这些文件。在更新 nuget 包之前,所需的 MVC 版本必须已在 Azure 服务器上的 GAC 中可用。现在失败了。

    解决方案是删除多余的 .sln 文件,以便目录中只有一个 .sln 文件。

    【讨论】:

    • 使用自定义部署脚本也可以,让您将解决方案文件传递给nuget restore
    • 多个sln文件是什么意思?我有同样的问题,只有 1 个 sln 文件...
    • @RobertoBonini 我在同一个目录中有两个单独的 .sln 文件。看起来您的错误与我的错误有所不同。
    猜你喜欢
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多