私はIIS 10Microsoft.AspNetCore.Antiforgeryは
にasp.netコア2.0のWebサイトを展開しています、私は私のアプリがprogram.settingsにISSのための正しい構成を使用していることを確認してください行った見つかりませんでしたファイル。
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
}
そして、私のstartup.csファイル内:
:public void ConfigureServices(IServiceCollection services)
{
services.Configure<IISOptions>(options =>
{
});
services.AddMvc();
}
私は、コマンドラインからDOTNETのwebsite.dllを実行したときしかし、私は、コマンドラインウィンドウに示され、以下のエラーメッセージが表示されます
(website.deps.json)で指定されたアセンブリが見つかりませんでした: パッケージ: 'Microsoft.AspNetCore.Antiforgery'、バージョン: '2.0.1' パス: 'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery.dll' aspnetcore-store-2.0.3を使用して アプリケーションが公開されたため、このアセンブリはローカルランタイムストアに存在することが予想されていました。 .xml
デバッグ時にこのエラーが表示されないため、私はMicrosoft.AspNetCore.Antiforgeryがバンドルされていないと推測しています。
ライブ環境に公開されたときに、自分のアプリがMicrosoft.AspNetCore.Antiforgeryを検出できるようにするにはどうすればよいですか?
EDIT:これは基本的な.netコアのWebサイトです。 IISでの展開の上記の変更を除いて、この時点で標準プロジェクトに変更はありませんでした。
コマンドラインではなくIISからプロジェクトを実行すると、502.5エラーメッセージが表示されます。
'dotnet restore'を試してみてください。これが一時的な解決策を使用するのに役立たず、ローカルからこの* .dllをコピーして展開するには –
@ J.Doeが述べたように、 'dotnet restore'を試してみてください。あなたのcsprojを共有してもいいですか? –
Windows(他のサーバー以外の場所)に公開してLinuxで実行する場合は、両方の.Net SDKのバージョンが同じか互換性があることを確認してください。 'dotnet --info'や' dotnet --version'でバージョンを確認できます。 – Babak