34

外部ログインを使用したいので、パッケージ マネージャーで Oauth をインストールしました。

 PM> Install-Package Microsoft.AspNet.WebPages.OAuth

次に、インストール後にこのエラーが発生し、かみそりをインストールします。

PM> Install-Package Microsoft.AspNet.Razor

しかし、私にはまだこの例外があります。さらに、私のアプリケーションは asp.net アプリケーションであり、MVC アプリケーションではありません。手伝ってくれてありがとう。

[FileNotFoundException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
   Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start() +0
4

6 に答える 6

16

このローテクな提案を前もってお詫びしますが、NuGet と数時間戦った後、最終的にうまくいった別のオプションは、新しい空のプロジェクト、私の場合は Web API を再作成し、古いプロジェクトの中身をコピーすることです。 、現在壊れているプロジェクトを新しいプロジェクトに。15分くらいかかりました。

于 2014-06-10T18:41:38.067 に答える
10

もう 1 つのオプションは、Microsoft.AspnNet.Mvc NuGet パッケージを更新することです。NuGet の更新では Web.Config が更新されないため、注意してください。以前のバージョン番号はすべて、更新された番号に更新する必要があります。たとえば、asp.net MVC 4.0.0.0 から 5.0.0.0 に更新する場合、これを Web.Config で置き換える必要があります。

    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

<pages
    validateRequest="false"
    pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <controls>
    <add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
  </controls>
</pages>
于 2015-09-07T19:28:35.247 に答える
0

私はもう少し先に行きました。私のプロジェクトはかなり大きいので、新しいプロジェクトを作成してから古いものから新しいものにすべてを移動することを拒否しています。つまらない。

私の解決策NUGET
にすべてを再インストールするよう に強制し、プロジェクト ファイルから名前を取得し、拡張子を削除しました。V/Studio ツール メニューで NUGET コンソールを開きます。'Import Project=...''.props'

私のプロジェクトで(部分的)

Update-Package -reinstall Microsoft.Net.Compilers.Toolset
Update-Package -reinstall Microsoft.Net.Compilers
Update-Package -reinstall Microsoft.CodeAnalysis.Analyzers
Update-Package -reinstall Microsoft.TypeScript.MSBuild
Update-Package -reinstall EntityFramework
Update-Package -reinstall Microsoft.TypeScript.Default
Update-Package -reinstall Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Update-Package -reinstall Microsoft.Common
Update-Package -reinstall Microsoft.TypeScript.MSBuild

Finnaly
そして、同じプロジェクト ファイルで、 <Error Condition="!Exists('packages....コンパイラが見つからないパッケージの失敗を回避するために、 を含むすべての行を削除しました。

プロジェクトとソリューションが稼働中です。

于 2021-10-11T01:07:15.190 に答える