내가 IIS (10)Microsoft.AspNetCore.Antiforgery는
에 asp.net 코어 2.0 웹 사이트를 구축하고있어 내 앱이 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();
}
을 그러나 내가 명령 줄 창에 표시된 오류 메시지가 아래 얻을 명령 줄에서 후에 .NET 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 핵심 웹 사이트입니다. IIS 배포와 관련하여 위의 변경 사항을 제외하고는 현재 표준 프로젝트를 변경하지 않았습니다.
명령 줄 대신 IIS에서 프로젝트를 실행하면 502.5 오류 메시지가 나타납니다. 일치하지 않는로 상기 문제를 해결하려면 PublishWithAspNetCoreTargetManifest 속성과 재생, 그리고
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="..." />
: 당신이 실제로이 라이브러리를 사용하는 경우
'dotnet restore'를 사용해보십시오. 이게 임시 솔루션을 사용하지 않고 로컬에서이 * .dll을 복사하여 복사하는 데 도움이되지 않는다면 –
@ J.Doe가 언급했듯이'dotnet restore '를 시도하십시오. csproj를 공유 하시겠습니까? –
Windows (다른 서버의 다른 곳)에 게시하고 Linux에서 실행하는 경우 .Net SDK의 버전이 동일하거나 호환되는지 확인하십시오. 'dotnet --info' 또는'dotnet --version'으로 버전을 확인할 수 있습니다. – Babak