Visual Studio를 사용 하 여 ASP.NET 웹 배포: 문제 해결ASP.NET Web Deployment using Visual Studio: Troubleshooting

만든 사람 Tom Dykstraby Tom Dykstra

시작 프로젝트 다운로드Download Starter Project

이 자습서 시리즈에서는 Visual Studio 2012 또는 Visual Studio 2010를 사용 하 여 Azure App Service Web Apps 또는 타사 호스팅 공급자에 게 ASP.NET 웹 응용 프로그램을 배포 (게시) 하는 방법을 보여 줍니다.This tutorial series shows you how to deploy (publish) an ASP.NET web application to Azure App Service Web Apps or to a third-party hosting provider, by using Visual Studio 2012 or Visual Studio 2010. 계열에 대 한 자세한 내용은 시리즈의 첫 번째 자습서를 참조 하십시오.For information about the series, see the first tutorial in the series.

이 페이지에서는 Visual Studio를 사용 하 여 ASP.NET 웹 응용 프로그램을 배포할 때 발생할 수 있는 몇 가지 일반적인 문제에 대해 설명 합니다.This page describes some common problems that may arise when you deploy an ASP.NET web application by using Visual Studio. 각각에 대해 하나 이상의 가능한 원인과 해당 솔루션이 제공 됩니다.For each one, one or more possible causes and corresponding solutions are provided.

표시 되는 시나리오는 Azure 및 타사 호스팅 공급자에 모두 적용 됩니다.The scenarios shown apply to both Azure and third-party hosting providers. Azure App Service에서 웹앱 문제 해결에 대한 자세한 내용은 다음 리소스를 참조하십시오.For more information about troubleshooting web apps in Azure App Service, see the following resources:

'/' 응용 프로그램에 서버 오류가 있습니다.-현재 사용자 지정 오류 설정으로 인해 오류에 대 한 세부 정보가 원격으로 표시 되지 않습니다.Server Error in '/' Application - Current Custom Error Settings Prevent Details of the Error from Being Viewed Remotely

시나리오Scenario

원격 호스트에 사이트를 배포한 후 web.config 파일의 customErrors 설정이 표시 되는 오류 메시지가 표시 되지만 오류의 실제 원인을 나타내는 것은 아닙니다.After deploying a site to a remote host, you get an error message that mentions the customErrors setting in the Web.config file but doesn't indicate what the actual cause of the error was:

Server Error in '/' Application.
Runtime Error 

Description: An application error occurred on the server. The current custom error settings 
for this application prevent the details of the application error from being viewed remotely 
(for security reasons). It could, however, be viewed by browsers running on the local server 
machine. 

Details: To enable the details of this specific error message to be viewable on remote machines,
please create a <customErrors> tag within a "web.config" configuration file located in the
root directory of the current web application. This <customErrors> tag should then have its
"mode" attribute set to "Off".

가능한 원인 및 해결 방법Possible Cause and Solution

기본적으로 ASP.NET는 웹 응용 프로그램이 로컬 컴퓨터에서 실행 중인 경우에만 자세한 오류 정보를 표시 합니다.By default, ASP.NET shows detailed error information only when your web application is running on the local computer. 일반적으로 해커는이 정보를 사용 하 여 응용 프로그램의 취약성을 찾을 수 있기 때문에 웹 응용 프로그램을 인터넷을 통해 공개적으로 사용할 수 있는 경우 자세한 오류 정보를 표시 하지 않으려고 합니다.Generally you don't want to display detailed error information when your web application is publicly available over the Internet, because hackers may be able to use this information to find vulnerabilities in the application. 그러나 사이트 또는 업데이트를 사이트에 배포 하는 경우 어떤 경우에도 오류가 발생 하 여 실제 오류 메시지를 받아야 합니다.However, when you are deploying a site or updates to a site, sometimes something will go wrong and you need to get the actual error message.

응용 프로그램이 원격 호스트에서 실행 될 때 자세한 오류 메시지를 표시 하도록 하려면 Web.config 파일을 편집 하 여 customErrors 모드 off를 설정 하 고, 응용 프로그램을 다시 배포 하 고, 응용 프로그램을 다시 실행 합니다.To enable the application to display detailed error messages when it runs on the remote host, edit the Web.config file to set customErrors mode off, redeploy the application, and run the application again:

  1. 응용 프로그램 Web.config 파일의 system.web 요소에 customErrors 요소가 있으면 mode 특성을 "off"로 변경 합니다.If the application Web.config file has a customErrors element in the system.web element, change the mode attribute to "off". 그렇지 않은 경우 다음 예제와 같이 mode 특성을 "off"로 설정 하 여 system.web 요소에 customErrors 요소를 추가 합니다.Otherwise add a customErrors element in the system.web element with the mode attribute set to "off", as shown in the following example:

    <configuration>
      <system.web>
        <customErrors mode="off"/>
      </system.web>
    </configuration>
    
  2. 애플리케이션을 배포합니다.Deploy the application.

  3. 응용 프로그램을 실행 하 고 이전에 발생 한 오류를 발생 시킨 모든 항목을 반복 합니다.Run the application and repeat whatever you did earlier that caused the error to occur. 이제 실제 오류 메시지를 확인할 수 있습니다.Now you can see what the actual error message is.

  4. 오류가 해결 되 면 원래 customErrors 설정을 복원 하 고 응용 프로그램을 다시 배포 합니다.When you have resolved the error, restore the original customErrors setting and redeploy the application.

해당 파일이 이미 있는 경우 ' ContosoUniversity '를 만들거나 섀도 복사할 수 없습니다.Cannot create/shadow copy 'ContosoUniversity' when that file already exists.

시나리오Scenario

Visual Studio에서 프로젝트를 실행 하려고 하면 다음 예제와 같은 메시지가 포함 된 오류 페이지가 표시 됩니다.When you try to run a project in Visual Studio you get an error page with a message like the following example:

'/' 애플리케이션의 서버 오류.Server Error in '/' Application. 해당 파일이 이미 있는 경우 ' ContosoUniversity '를 만들거나 섀도 복사할 수 없습니다.Cannot create/shadow copy 'ContosoUniversity' when that file already exists.

가능한 원인 및 해결 방법Possible Cause and Solution

잠시 기다렸다가 브라우저를 새로 고치거 나 사이트를 다시 컴파일한 후 다시 실행 해 보십시오.Wait a minute and refresh the browser, or recompile the site and try running it again.

SQL Server Compact를 사용 하는 웹 페이지에서 액세스가 거부 되었습니다.Access is Denied in a Web Page that Uses SQL Server Compact

시나리오Scenario

SQL Server Compact를 사용 하는 사이트를 배포 하 고 데이터베이스에 액세스 하는 배포 된 사이트에서 페이지를 실행 하는 경우 다음 오류 메시지가 표시 됩니다.When you deploy a site that uses SQL Server Compact and you run a page in the deployed site that accesses the database, you see the following error message:

액세스가 거부되었습니다.Access is denied. (HRESULT의 예외: 0x80070005 (E_ACCESSDENIED))(Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

가능한 원인 및 해결 방법Possible Cause and Solution

서버의 네트워크 서비스 계정에서 bin\amd64 또는 bin\x86 폴더에 있는 SQL SERVICE Compact 네이티브 이진 파일을 읽을 수 있어야 하지만 해당 폴더에 대 한 읽기 권한이 없습니다.The NETWORK SERVICE account on the server needs to be able to read SQL Service Compact native binaries that are in the bin\amd64 or bin\x86 folder, but it does not have read permissions for those folders. Bin 폴더에서 네트워크 서비스에 대 한 읽기 권한을 설정 하 고 하위 폴더에 대 한 사용 권한을 확장 합니다.Set read permission for NETWORK SERVICE on the bin folder, making sure to extend the permissions to subfolders.

권한 부족으로 인해 구성 파일을 읽을 수 없습니다.Cannot Read Configuration File Due to Insufficient Permissions

시나리오Scenario

Visual Studio 게시 단추를 클릭 하 여 로컬 컴퓨터의 IIS에 응용 프로그램을 배포 하면 게시가 실패 하 고 출력 창에 다음과 유사한 오류 메시지가 표시 됩니다.When you click the Visual Studio publish button to deploy an application to IIS on your local machine, publishing fails and the Output window shows an error message similar to this:

' MACHINE/리디렉션 ' IIS 구성 파일을 읽는 동안 오류가 발생 했습니다.An error occurred when reading the IIS Configuration File 'MACHINE/REDIRECTION'. 이 작업을 수행 하는 id ... 오류: 권한이 충분 하지 않아 구성 파일을 읽을 수 없습니다.The identity performing this operation was ... Error: Cannot read configuration file due to insufficient permissions.

가능한 원인 및 해결 방법Possible Cause and Solution

로컬 컴퓨터에서 한 번 클릭으로 IIS에 게시를 사용 하려면 관리자 권한으로 Visual Studio를 실행 해야 합니다.To use one-click publish to IIS on your local machine, you must be running Visual Studio with administrator permissions. Visual Studio를 닫고 관리자 권한으로 다시 시작 합니다.Close Visual Studio and restart it with administrator permissions.

대상 컴퓨터에 연결할 수 없습니다. 지정 된 프로세스 사용Could Not Connect to the Destination Computer ... Using the Specified Process

시나리오Scenario

Visual Studio 게시 단추를 클릭 하 여 응용 프로그램을 배포 하면 게시가 실패 하 고 출력 창에 다음과 유사한 오류 메시지가 표시 됩니다.When you click the Visual Studio publish button to deploy an application, publishing fails and the Output window shows an error message similar to this:

Web deployment task failed.(Could not connect to the destination computer ("<server URL>") using the specified process
("The Web Management Service"). This can happen if a proxy server is interrupting communication with the destination server. 
Disable the proxy server and try again.) ... The remote server returned an error: (502) Bad Gateway.

가능한 원인 및 해결 방법Possible Cause and Solution

프록시 서버에서 대상 서버와의 통신을 중단 하 고 있습니다.A proxy server is interrupting communication with the destination server. Windows 제어판 또는 Internet Explorer에서 인터넷 옵션 을 선택 하 고 연결 탭을 선택 합니다. 인터넷 속성 대화 상자에서 LAN 설정을 클릭 합니다.From the Windows Control Panel or in Internet Explorer, select Internet Options and select the Connections tab. In the Internet Properties dialog box, click LAN Settings. Lan (Local Area Network) 설정 대화 상자에서 자동으로 설정 검색 확인란의 선택을 취소 합니다.In the Local Area Network (LAN) Settings dialog box, clear the Automatically detect settings checkbox. 그런 다음 게시 단추를 다시 클릭 합니다.Then click the publish button again.

문제가 지속 되 면 시스템 관리자에 게 문의 하 여 프록시 또는 방화벽 설정으로 수행할 수 있는 작업을 확인 하십시오.If the problem persists, contact your system administrator to determine what can be done with proxy or firewall settings. 웹 배포는 웹 관리 서비스 배포 (8172)에 비표준 포트를 사용 하기 때문에 문제가 발생 합니다. 다른 연결의 경우 웹 배포는 포트 80를 사용 합니다.The problem happens because Web Deploy uses a non-standard port for Web Management Service deployment (8172); for other connections, Web Deploy uses port 80. 타사 호스팅 공급자에 배포 하는 경우 일반적으로 웹 관리 서비스를 사용 합니다.When you are deploying to a third-party hosting provider, you are typically using the Web Management Service.

기본 .NET 4.0 응용 프로그램 풀이 없습니다.Default .NET 4.0 Application Pool Does Not Exist

시나리오Scenario

.NET Framework 4가 필요한 응용 프로그램을 배포 하는 경우 다음 오류 메시지가 표시 됩니다.When you deploy an application that requires the .NET Framework 4, you see the following error message:

기본 .NET 4.0 응용 프로그램 풀이 없거나 응용 프로그램을 추가할 수 없습니다.The default .NET 4.0 application pool does not exist or the application could not be added. ASP.NET 4.0이이 컴퓨터에 설치 되어 있는지 확인 하세요.Please verify that ASP.NET 4.0 is installed on this machine.

가능한 원인 및 해결 방법Possible Cause and Solution

ASP.NET 4가 IIS에 설치 되어 있지 않습니다.ASP.NET 4 is not installed in IIS. 배포 하는 서버가 개발 컴퓨터 이며 Visual Studio 2010가 설치 되어 있는 경우에는 ASP.NET 4가 컴퓨터에 설치 되어 있지만 IIS에 설치 되어 있지 않을 수 있습니다.If the server you are deploying to is your development computer and has Visual Studio 2010 installed on it, ASP.NET 4 is installed on the computer but might not be installed in IIS. 배포 하는 서버에서 관리자 권한 명령 프롬프트를 열고 다음 명령을 실행 하 여 IIS에 ASP.NET 4를 설치 합니다.On the server that you are deploying to, open an elevated command prompt and install ASP.NET 4 in IIS by running the following commands:

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –iru

기본 응용 프로그램 풀의 .NET Framework 버전을 수동으로 설정 해야 할 수도 있습니다.You might also need to manually set the .NET Framework version of the default application pool. 자세한 내용은이 시리즈의 테스트 환경으로 IIS에 배포 자습서를 참조 하십시오.For more information, see the Deploying to IIS as a Test Environment tutorial in this series.

초기화 문자열의 형식이 인덱스 0부터 시작 하는 사양과 일치 하지 않습니다.Format of the initialization string does not conform to specification starting at index 0.

시나리오Scenario

한 번 클릭 게시를 사용 하 여 응용 프로그램을 배포한 후 데이터베이스에 액세스 하는 페이지를 실행 하면 다음과 같은 오류 메시지가 표시 됩니다.After you deploy an application using one-click publish, when you run a page that accesses the database you get the following error message:

초기화 문자열의 형식이 인덱스 0부터 시작 하는 사양과 일치 하지 않습니다.Format of the initialization string does not conform to specification starting at index 0.

가능한 원인 및 해결 방법Possible Cause and Solution

배포 된 사이트에서 web.config 파일을 열고 다음 예제와 같이 연결 문자열 값이 $(ReplaceableToken_로 시작 하는지 확인 합니다.Open the Web.config file in the deployed site and check to see whether the connection string values begin with $(ReplaceableToken_, as in the following example:

<connectionStrings>
  <add name="DefaultConnection" connectionString="$(ReplaceableToken_DefaultConnection-Web.config Connection String_0)" providerName="System.Data.SqlServerCe.4.0" />
  <add name="SchoolContext" connectionString="$(ReplaceableToken_SchoolContext-Web.config Connection String_0)" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>

연결 문자열이이 예제 처럼 보이는 경우 프로젝트 파일을 편집 하 고 모든 빌드 구성에 대 한 PropertyGroup 요소에 다음 속성을 추가 합니다.If the connection strings look like this example, edit the project file and add the following property to the PropertyGroup element that is for all build configurations:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

그런 다음 응용 프로그램을 다시 배포 합니다.Then redeploy the application.

HTTP 500 내부 서버 오류HTTP 500 Internal Server Error

시나리오Scenario

배포 된 사이트를 실행 하는 경우 오류의 원인을 나타내는 특정 정보가 없는 다음 오류 메시지가 표시 됩니다.When you run the deployed site, you see the following error message without specific information indicating the cause of the error:

HTTP 오류 500-내부 서버 오류입니다.HTTP Error 500 - Internal Server Error.

가능한 원인 및 해결 방법Possible Cause and Solution

500 오류가 원인에는 여러 가지가 있지만, 이러한 자습서를 수행 하는 경우 Web.config 변환 파일 중 하나에서 XML 요소를 잘못 된 위치에 배치 하는 것이 가능한 원인 중 하나입니다.There are many causes of 500 errors, but one possible cause if you are following these tutorials is that you put an XML element in the wrong place in one of the Web.config transformation files. 예를 들어 <구성>바로 아래에 있는 대신 <system.web>에서 <위치> 요소를 삽입 하는 변환을 배치 하면이 오류가 발생 합니다.For example, you would get this error if you put the transformation that inserts a <location> element under <system.web> instead of directly under <configuration>. Web.config 변환 미리 보기 기능을 사용 하 여 변환이 의도 한 대로 작동 하는지 확인할 수 있습니다.You can use the Web.config transform preview feature to verify that transformations are working as intended. 잘못 코딩 된 변환을 찾은 경우이 솔루션은 변환 파일을 수정 하 고 다시 배포 하는 것입니다.The solution if you find a transform that was coded incorrectly is to correct the transformation file and redeploy. 오류가 명확 하지 않은 경우에는 변환을 주석으로 처리 하 고 다시 배포 하 여 500 오류가 발생 한 원인을 확인 합니다.If an error isn't obvious, try commenting out transforms and redeploying to see which one is causing the 500 error.

HTTP 500.21 내부 서버 오류HTTP 500.21 Internal Server Error

시나리오Scenario

배포 된 사이트를 실행 하는 경우 다음 오류 메시지가 표시 됩니다.When you run the deployed site, you see the following error message:

HTTP 오류 500.21-내부 서버 오류입니다.HTTP Error 500.21 - Internal Server Error. "PageHandlerFactory 통합" 처리기의 모듈 목록에 잘못 된 "ManagedPipelineHandler" 모듈이 있습니다.Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list.

가능한 원인 및 해결 방법Possible Cause and Solution

배포한 사이트는 ASP.NET 4 이지만 ASP.NET 4는 서버의 IIS에 등록 되어 있지 않습니다.The site you have deployed targets ASP.NET 4, but ASP.NET 4 is not registered in IIS on the server. 서버에서 관리자 권한 명령 프롬프트를 열고 다음 명령을 실행 하 여 ASP.NET 4를 등록 합니다.On the server open an elevated command prompt and register ASP.NET 4 by running the following commands:

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –iru

기본 응용 프로그램 풀의 .NET Framework 버전을 수동으로 설정 해야 할 수도 있습니다.You might also need to manually set the .NET Framework version of the default application pool. 자세한 내용은이 시리즈의 테스트 환경으로 IIS에 배포 자습서를 참조 하십시오.For more information, see the Deploying to IIS as a Test Environment tutorial in this series.

앱_데이터에서 SQL Server Express 데이터베이스를 여는 데 실패 했습니다.Login Failed Opening SQL Server Express Database in App_Data

시나리오Scenario

응용 프로그램 _Data 폴더의 .mdf 파일로 SQL Server Express 데이터베이스를 가리키도록 web.config 파일 연결 문자열을 업데이트 하 고 응용 프로그램을 처음 실행할 때 다음과 같은 오류 메시지가 표시 됩니다 .You updated the Web.config file connection string to point to a SQL Server Express database as an .mdf file in your App_Data folder, and the first time you run the application you see the following error message:

SqlException: 로그인에서 요청한 "DatabaseName" 데이터베이스를 열 수 없습니다.System.Data.SqlClient.SqlException: Cannot open database "DatabaseName" requested by the login. 로그인이 실패했습니다.The login failed.

가능한 원인 및 해결 방법Possible Cause and Solution

이전에 기존 데이터베이스의 .mdf 파일을 삭제 한 경우에도 .mdf 파일의 이름은 컴퓨터에 있었던 SQL Server Express 데이터베이스의 이름과 일치할 수 없습니다.The name of the .mdf file cannot match the name of any SQL Server Express database that has ever existed on your computer, even if you deleted the .mdf file of the previously existing database. .Mdf 파일의 이름을 데이터베이스 이름으로 사용 된 적이 없는 이름으로 변경 하 고 web.config 파일을 변경 하 여 새 이름을 사용 합니다.Change the name of the .mdf file to a name that has never been used as a database name and change the Web.config file to use the new name. 또는 SQL Server Management Studio Express 를 사용 하 여 이전에 기존 SQL Server Express 데이터베이스를 삭제할 수 있습니다.As an alternative, you can use SQL Server Management Studio Express to delete previously existing SQL Server Express databases.

모델 호환성을 확인할 수 없습니다.Model Compatibility Cannot be Checked

시나리오Scenario

새 SQL Server Express 데이터베이스를 가리키도록 web.config 파일 연결 문자열을 업데이트 하 고 응용 프로그램을 처음 실행할 때 다음과 같은 오류 메시지가 표시 됩니다.You updated the Web.config file connection string to point to a new SQL Server Express database, and the first time you run the application you see the following error message:

데이터베이스에 모델 메타 데이터가 포함 되어 있지 않으므로 모델 호환성을 확인할 수 없습니다.Model compatibility cannot be checked because the database does not contain model metadata. DbModelBuilder 규칙에 IncludeMetadataConvention이 추가 되었는지 확인 합니다.Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions.

가능한 원인 및 해결 방법Possible Cause and Solution

컴퓨터에서 web.config 파일에 저장 한 데이터베이스 이름이 이미 사용 된 경우 데이터베이스에 일부 테이블이 이미 있을 수 있습니다.If the database name you put in the Web.config file was ever used before on your computer, a database might already exist with some tables in it. 이전에 컴퓨터에서 사용 되지 않은 새 이름을 선택 하 고이 새 데이터베이스 이름을 사용 하도록 web.config 파일을 변경 합니다.Select a new name that has not been used on your computer before and change the Web.config file to point to use this new database name. 또는 SQL Server Express 유틸리티 또는 SQL Server Management Studio Express 를 사용 하 여 기존 데이터베이스를 삭제할 수 있습니다.As an alternative, you can use SQL Server Express Utility or SQL Server Management Studio Express to delete the existing database.

스크립트에서 사용자 또는 역할을 만들려고 할 때 SQL 오류가 발생 합니다.SQL Error When a Script Attempts to Create Users or Roles

시나리오Scenario

Sql 패키지 및 게시 탭에서 구성 된 데이터베이스 배포를 사용 하 고 있습니다. 배포 중에 실행 되는 sql 스크립트에는 사용자 만들기 또는 역할 만들기 명령이 포함 되며, 이러한 명령이 실행 되 면 스크립트 실행이 실패 합니다.You are using database deployment configured on the Package/Publish SQL tab, SQL scripts that run during deployment include Create User or Create Role commands, and script execution fails when those commands are executed. 다음과 같이 보다 자세한 메시지가 표시 될 수 있습니다.You might see more detailed messages, such as the following:

The approximate location of the error was between lines '1' and '3' of the script. 
The verbose log may have more information about the error. The command started with:
CREATE USER [user2] FOR LOGIN [user2] WITH DEFAULT
Error: User does not have permission to perform this action.

SQL 패키지 및 게시 탭이 아니라 웹 게시 마법사에서 데이터베이스 배포를 구성 했을 때이 오류가 발생 하는 경우 구성 및 배포 포럼에서 스레드를 만들면이 문제 해결 페이지에 솔루션이 추가 됩니다.If this error occurs when you have configured database deployment in the Publish Web wizard rather than the Package/Publish SQL tab, create a thread in the Configuration and Deployment forum, and the solution will be added to this troubleshooting page.

가능한 원인 및 해결 방법Possible Cause and Solution

배포를 수행 하는 데 사용 하는 사용자 계정에 사용자 또는 역할을 만들 수 있는 권한이 없습니다.The user account you are using to perform deployment does not have permission to create users or roles. 예를 들어 호스팅 회사는 db_datareader, db_datawriter 여부 및 db_ddladmin 역할을 사용자가 설정 하는 사용자 계정에 할당할 수 있습니다.For example, the hosting company might assign the db_datareader, db_datawriter, and db_ddladmin roles to the user account that it sets up for you. 이러한 데이터는 대부분의 데이터베이스 개체를 만드는 데 충분 하지만 사용자 또는 역할을 만드는 데에는 충분 하지 않습니다.These are sufficient for creating most database objects, but not for creating users or roles. 이 오류를 방지 하는 한 가지 방법은 데이터베이스 배포에서 사용자와 역할을 제외 하는 것입니다.One way to avoid the error is by excluding users and roles from database deployment. 이렇게 하려면 데이터베이스에서 자동으로 생성 된 스크립트에 대 한 다음 특성을 포함 하도록 자동으로 생성 된 스크립트에 대 한 보도 요소를 편집 합니다.You can do this by editing the PreSource element for the database's automatically generated script so that it includes the following attributes:

CopyAllUsers=false, CopyAllRoles=false

프로젝트 파일에서 보도 Ource 요소를 편집 하는 방법에 대 한 자세한 내용은 방법: 프로젝트 파일의 배포 설정 편집을 참조 하세요.For information about how to edit the PreSource element in the project file, see How to: Edit Deployment Settings in the Project File. 개발 데이터베이스의 사용자 또는 역할이 대상 데이터베이스에 있어야 하는 경우 호스팅 공급자에 게 문의 하십시오.If the users or roles in your development database need to be in the destination database, contact your hosting provider for assistance.

배포 하는 동안 사용자 지정 스크립트를 실행 하는 동안 SQL Server 시간 초과 오류 발생SQL Server Timeout Error When Running Custom Scripts During Deployment

시나리오Scenario

배포 하는 동안 실행할 사용자 지정 SQL 스크립트를 지정 하 고 웹 배포 실행 하면 시간 초과 됩니다.You have specified custom SQL scripts to run during deployment, and when Web Deploy runs them, they time out.

가능한 원인 및 해결 방법Possible Cause and Solution

다른 트랜잭션 모드를 포함 하는 여러 스크립트를 실행 하면 시간 초과 오류가 발생할 수 있습니다.Running multiple scripts that have different transaction modes can cause time-out errors. 기본적으로 자동으로 생성 된 스크립트는 트랜잭션에서 실행 되지만 사용자 지정 스크립트는 그렇지 않습니다.By default, automatically generated scripts run in a transaction, but custom scripts do not. Sql 패키지 및 게시 탭에서 기존 데이터베이스에서 데이터 및/또는 스키마 가져오기 옵션을 선택 하 고 사용자 지정 sql 스크립트를 추가 하는 경우 모든 스크립트가 동일한 트랜잭션 설정을 사용 하도록 일부 스크립트의 트랜잭션 설정을 변경 해야 합니다.If you select the Pull data and/or schema from an existing database option on the Package/Publish SQL tab, and if you add a custom SQL script, you must change transaction settings on some scripts so that all scripts use the same transaction settings. 자세한 내용은 방법: 웹 응용 프로그램 프로젝트를 사용 하 여 데이터베이스 배포를 참조 하세요.For more information, see How to: Deploy a Database With a Web Application Project.

모든 것이 동일 하지만이 오류가 발생 하지 않도록 트랜잭션 설정을 구성한 경우 스크립트를 별도로 실행 하는 것이 가능한 해결 방법입니다.If you have configured transaction settings so that all are the same but still get this error, a possible workaround is to run the scripts separately. SQL 패키지 및 게시 탭의 데이터베이스 스크립트 표에서 제한 시간 오류를 발생 시키는 스크립트에 대 한 포함 확인란의 선택을 취소 한 다음 프로젝트를 게시 합니다.In the Database Scripts grid in the Package/Publish SQL tab, clear the Include check box for the script that causes the timeout error, then publish the project. 그런 다음 데이터베이스 스크립트 그리드로 돌아가서 해당 스크립트의 포함 확인란을 선택 하 고 다른 스크립트에 대 한 포함 확인란의 선택을 취소 합니다.Then go back into the Database Scripts grid, select that script's Include check box, and clear the Include check boxes for the other scripts. 그런 다음 프로젝트를 다시 게시 합니다.Then publish the project again. 이번에는 게시할 때 선택한 사용자 지정 스크립트만 실행 됩니다.This time when you publish, only the selected custom script runs.

사이트 매니페스트의 스트림 데이터를 아직 사용할 수 없습니다.Stream Data of Site Manifest Is Not Yet Available

시나리오Scenario

T (테스트) 옵션을 사용 하 여 배포 .cmd 파일을 사용 하 여 패키지를 설치 하는 경우 다음 오류 메시지가 표시 됩니다.When you are installing a package using the deploy.cmd file with the t (test) option, you see the following error message:

오류: ' sitemanifest/dbFullSql [@path= ' C:\TEMP\AdventureWorksGrant.sql ']/sqlScript '의 스트림 데이터를 아직 사용할 수 없습니다.Error: The stream data of 'sitemanifest/dbFullSql[@path='C:\TEMP\AdventureWorksGrant.sql']/sqlScript' is not yet available.

가능한 원인 및 해결 방법Possible Cause and Solution

오류 메시지는 명령이 테스트 보고서를 생성할 수 없음을 의미 합니다.The error message means that the command cannot produce a test report. 그러나 y (실제 설치) 옵션을 사용 하는 경우 명령이 실행 될 수 있습니다.However, the command might run if you use the y (actual installation) option. 이 메시지는 테스트 모드에서 명령을 실행 하는 데 문제가 있음을 나타냅니다.The message indicates only that there is a problem with running the command in test mode.

이 응용 프로그램에는 ManagedRuntimeVersion v 4.0이 필요 합니다.This Application Requires ManagedRuntimeVersion v4.0

시나리오Scenario

배포 하려고 하면 다음과 같은 오류 메시지가 표시 됩니다.When you attempt to deploy, you see the following error message:

사용 하려는 응용 프로그램 풀의 ' managedRuntimeVersion ' 속성이 ' v 2.0 '으로 설정 되어 있습니다.The application pool that you are trying to use has the 'managedRuntimeVersion' property set to 'v2.0'. 이 응용 프로그램에는 ' v 4.0 '이 필요 합니다.This application requires 'v4.0'.

가능한 원인 및 해결 방법Possible Cause and Solution

ASP.NET 4가 IIS에 설치 되어 있지 않습니다.ASP.NET 4 is not installed in IIS. 배포 하는 서버가 개발 컴퓨터 이며 Visual Studio 2010가 설치 되어 있는 경우에는 ASP.NET 4가 컴퓨터에 설치 되어 있지만 IIS에 설치 되어 있지 않을 수 있습니다.If the server you are deploying to is your development computer and has Visual Studio 2010 installed on it, ASP.NET 4 is installed on the computer but might not be installed in IIS. 배포 하는 서버에서 관리자 권한 명령 프롬프트를 열고 다음 명령을 실행 하 여 IIS에 ASP.NET 4를 설치 합니다.On the server that you are deploying to, open an elevated command prompt and install ASP.NET 4 in IIS by running the following commands:

cd %windir%\Microsoft.NET\Framework\v4.0.30319
aspnet_regiis.exe –i

Microsoft. Deployment. DeploymentProviderOptions를 캐스팅할 수 없습니다.Unable to cast Microsoft.Web.Deployment.DeploymentProviderOptions

시나리오Scenario

패키지를 배포 하는 경우 다음 오류 메시지가 표시 됩니다.When you are deploying a package, you see the following error message:

' Microsoft. Deployment. DeploymentProviderOptions ' 형식의 개체를 ' Microsoft. Deployment. DeploymentProviderOptions '로 캐스팅할 수 없습니다.Unable to cast object of type 'Microsoft.Web.Deployment.DeploymentProviderOptions' to 'Microsoft.Web.Deployment.DeploymentProviderOptions'.

가능한 원인 및 해결 방법Possible Cause and Solution

웹 배포 1.1 UI를 사용 하 여 IIS 관리자에서 웹 배포 2.0이 설치 된 서버에 배포 하려고 합니다.You are trying to deploy from IIS Manager using the Web Deploy 1.1 UI to a server that has Web Deploy 2.0 installed. 패키지를 가져와서 IIS 원격 관리 도구를 사용 하 여 배포 하는 경우 연결을 설정할 때 사용 가능한 새 기능 대화 상자를 선택 합니다.If you are using the IIS Remote Administration Tool to deploy by importing a package, check the New Features Available dialog box when you establish the connection. 이 대화 상자는 연결이 처음 설정 될 때 한 번만 표시 될 수 있습니다.(This dialog box might only be shown once when the connection is first established. 연결을 지우고 다시 시작 하려면 IIS 관리자를 닫고 명령 프롬프트에 inetmgr/reset를 입력 하 여 다시 시작 합니다. 나열 된 기능 중 하나가 UI 웹 배포이 고 8 보다 낮은 버전의 버전을 포함 하는 경우 배포 하는 서버에 1.1 및 2.0 버전의 웹 배포 설치 되어 있을 수 있습니다.To clear the connection and start over, close IIS Manager and start it up again by entering inetmgr /reset at the command prompt.) If one of the features listed is Web Deploy UI, and it has a version number lower than 8, the server you are deploying to might have both 1.1 and 2.0 versions of Web Deploy installed. 2.0가 설치 된 클라이언트에서 배포 하려면 서버에 웹 배포 2.0만 설치 되어 있어야 합니다.To deploy from a client that has 2.0 installed, the server must have only Web Deploy 2.0 installed. 이 문제를 해결 하려면 호스팅 공급자에 게 문의 해야 합니다.You will have to contact your hosting provider to resolve this problem.

SQL Server Compact의 네이티브 구성 요소를 로드할 수 없습니다.Unable to load the native components of SQL Server Compact

시나리오Scenario

배포 된 사이트를 실행 하는 경우 다음 오류 메시지가 표시 됩니다.When you run the deployed site, you see the following error message:

ADO.NET 공급자 버전 8482에 해당 하는 SQL Server Compact의 네이티브 구성 요소를 로드할 수 없습니다.Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8482. 올바른 버전의 SQL Server Compact를 설치 합니다.Install the correct version of SQL Server Compact. 자세한 내용은 기술 자료 문서 974247을 참조 하세요.Refer to KB article 974247 for more details.

가능한 원인 및 해결 방법Possible Cause and Solution

배포 된 사이트에는 응용 프로그램의 bin 폴더 아래에 네이티브 어셈블리가 있는 amd64x86 하위 폴더가 없습니다.The deployed site does not have amd64 and x86 subfolders with the native assemblies in them under the application's bin folder. SQL Server Compact 설치 된 컴퓨터에서 네이티브 어셈블리는 C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private에 있습니다.On a computer that has SQL Server Compact installed, the native assemblies are located in C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private. Visual Studio 프로젝트에서 올바른 폴더에 올바른 파일을 가져오는 가장 좋은 방법은 NuGet SqlServerCompact 패키지를 설치 하는 것입니다.The best way to get the correct files into the correct folders in a Visual Studio project is to install the NuGet SqlServerCompact package. 패키지 설치는 네이티브 어셈블리를 amd64x 86으로 복사 하는 빌드 후 스크립트를 추가 합니다.Package installation adds a post-build script to copy the native assemblies into amd64 and x86. 그러나 이러한 배포를 배포 하려면 프로젝트에 수동으로 포함 해야 합니다.In order for these to be deployed, however, you have to manually include them in the project. 자세한 내용은 SQL Server Compact 배포 자습서를 참조 하세요.For more information, see the Deploying SQL Server Compact tutorial.

Entity Framework Code First 응용 프로그램을 배포한 후 "경로가 잘못 되었습니다." 오류"Path is not valid" error after deploying an Entity Framework Code First application

시나리오Scenario

Entity Framework Code First 마이그레이션를 사용 하는 응용 프로그램을 배포 하 고 SQL Server Compact와 같은 DBMS를 앱_데이터 폴더의 파일에 저장 합니다.You deploy an application that uses Entity Framework Code First Migrations and a DBMS such as SQL Server Compact which stores its database in a file in the App_Data folder. 첫 번째 배포 후에 데이터베이스를 만들도록 Code First 마이그레이션 구성 되어 있습니다.You have Code First Migrations configured to create the database after your first deployment. 응용 프로그램을 실행 하면 다음 예제와 같은 오류 메시지가 표시 됩니다.When you run the application you get an error message like the following example:

경로가 잘못 되었습니다.The path is not valid. 데이터베이스의 디렉터리를 확인 합니다.Check the directory for the database. [Path = c:\inetpub\wwwroot\App_Data\DatabaseName.sdf][Path = c:\inetpub\wwwroot\App_Data\DatabaseName.sdf ]

가능한 원인 및 해결 방법Possible Cause and Solution

Code First에서 데이터베이스를 만들려고 하지만 응용 프로그램_데이터 폴더가 없습니다.Code First is attempting to create the database but the App_Data folder does not exist. 배포할 때 앱_data 폴더에 파일이 없거나, 프로젝트 속성 창의 웹 패키지 및 게시 탭에서 앱_데이터 제외 를 선택 했습니다.Either you didn't have any files in the App_Data folder when you deployed, or you selected Exclude App_Data on the Package/Publish Web tab of the Project Properties window. 서버에 복사할 폴더에 파일이 없는 경우 배포 프로세스에서 서버에 폴더를 만들지 않습니다.The deployment process won't create a folder on the server if there are no files in the folder to be copied to the server. 사이트에서 데이터베이스를 이미 설정한 경우에는 게시 프로필의 대상에서 추가 파일 제거 를 선택한 경우 배포 프로세스에서 파일 및 앱_데이터 폴더 자체를 삭제 합니다.If you already had the database set up in the site, the deployment process will delete the files and the App_Data folder itself if you selected Remove additional files at destination in the publish profile. 이 문제를 해결 하려면 응용 프로그램_data 폴더에 .txt 파일과 같은 자리 표시자 파일을 배치 하 고, 앱 제외_데이터 를 선택 하 고 다시 배포 하지 않았는지 확인 합니다.To solve the problem, put a placeholder file such as a .txt file in the App_Data folder, make sure you do not have Exclude App_Data selected, and redeploy.

"내부 RCW에서 분리 된 COM 개체를 사용할 수 없습니다.""COM object that has been separated from its underlying RCW cannot be used."

시나리오Scenario

한 번의 클릭으로 게시를 사용 하 여 응용 프로그램을 배포한 후이 오류가 발생 하기 시작 했습니다.You have been successfully using one-click publish to deploy your application and then you start getting this error:

웹 배포 작업이 실패 했습니다.Web deployment task failed. (원격 에이전트 URL 'https://serverurl.com/msdeploy.axd?site=sitename'에 대 한 요청을 완료할 수 없습니다.)(Could not complete the request to remote agent URL 'https://serverurl.com/msdeploy.axd?site=sitename'.)
원격 에이전트 URL 'https://url/msdeploy.axd?site=sitename'에 대 한 요청을 완료할 수 없습니다.Could not complete the request to remote agent URL 'https://url/msdeploy.axd?site=sitename'.
요청이 중단 되었습니다. 요청이 취소 되었습니다.The request was aborted: The request was canceled.
내부 RCW에서 분리 된 COM 개체를 사용할 수 없습니다.COM object that has been separated from its underlying RCW cannot be used.

가능한 원인 및 해결 방법Possible Cause and Solution

일반적으로이 오류를 해결 하려면 Visual Studio를 닫고 다시 시작 해야 합니다.Closing and restarting Visual Studio is usually all that is required to resolve this error.

게시에 사용 된 사용자 자격 증명에 setACL 기관이 없으므로 배포가 실패 함Deployment Fails Because User Credentials Used for Publishing Don't Have setACL Authority

시나리오Scenario

폴더 사용 권한을 설정할 권한이 없다는 것을 나타내는 오류로 인해 게시에 실패 합니다. 사용 중인 사용자 계정에는 setACL 기관이 없습니다.Publishing fails with an error that indicates you don't have authority to set folder permissions (the user account you are using doesn't have setACL authority).

가능한 원인 및 해결 방법Possible Cause and Solution

기본적으로 Visual Studio는 사이트의 루트 폴더에 대 한 읽기 권한과 앱_데이터 폴더에 대 한 쓰기 권한을 설정 합니다.By default, Visual Studio sets read permissions on the root folder of the site and write permissions on the App_Data folder. 사이트 폴더에 대 한 기본 사용 권한이 정확 하 고 설정 하지 않아도 되는 경우이 동작을 사용 하지 않도록 설정 합니다 .이 동작을 사용 하지 않도록 설정 >False</IncludeSetACLProviderOnDestination> 을 게시 프로필 파일 (단일 프로필에 영향을 줌) 또는 wpp .targets 파일 (모든 프로필에 영향을 줌)에<추가 합니다.If you know that the default permissions on site folders are correct and do not need to be set, you disable this behavior by adding <IncludeSetACLProviderOn Destination>False</IncludeSetACLProviderOnDestination> to the publish profile file (to affect a single profile) or to the wpp.targets file (to affect all profiles). 이러한 파일을 편집 하는 방법에 대 한 자세한 내용은 방법: 프로필 (pubxml) 파일의 배포 설정 편집을 참조 하세요.For information about how to edit these files, see How to: Edit Deployment Settings in Profile (.pubxml) Files.

응용 프로그램이 응용 프로그램 폴더에 쓰려고 할 때 액세스 거부 오류Access Denied Errors when the Application Tries to Write to an Application Folder

시나리오Scenario

응용 프로그램 폴더에 대 한 쓰기 권한이 없기 때문에 응용 프로그램 폴더 중 하나에서 파일을 만들거나 편집 하려고 할 때 응용 프로그램 오류가 발생 합니다.Your application errors when it tries to create or edit a file in one of the application folders, because it does not have write authority for that folder.

가능한 원인 및 해결 방법Possible Cause and Solution

기본적으로 Visual Studio는 사이트의 루트 폴더에 대 한 읽기 권한과 앱_데이터 폴더에 대 한 쓰기 권한을 설정 합니다.By default, Visual Studio sets read permissions on the root folder of the site and write permissions on the App_Data folder. 하위 폴더에 대 한 쓰기 권한이 응용 프로그램에 필요한 경우이 시리즈의 폴더 권한 설정 및 프로덕션 환경에 배포 자습서에 표시 된 것 처럼 해당 폴더에 대 한 권한을 설정할 수 있습니다.If your application needs write access to a sub-folder, you can set permissions for that folder as shown in the Setting Folder Permissions and Deploying to the Production Environment tutorials in this series. 응용 프로그램에 사이트의 루트 폴더에 대 한 쓰기 액세스 권한이 필요한 경우에는 해당 응용 프로그램에서 includesetacl><>provider< 을 추가 하 여 루트 폴더에 대 한 읽기 전용 액세스를 설정 하는 것을 방지 해야 합니다 .이 경우에는 게시 프로필 파일 (단일 프로필에 영향을 주는) 또는 wpp .targets 파일 (모든 프로필에 영향을 줌If your application needs write access to the root folder of the site, you have to prevent it from setting read-only access on the root folder by adding <IncludeSetACLProviderOn Destination>False</IncludeSetACLProviderOnDestination> to the publish profile file (to affect a single profile) or to the wpp.targets file (to affect all profiles). 이러한 파일을 편집 하는 방법에 대 한 자세한 내용은 방법: 프로필 (pubxml) 파일의 배포 설정 편집을 참조 하세요.For information about how to edit these files, see How to: Edit Deployment Settings in Profile (.pubxml) Files.

구성 오류-targetFramework 특성이 설치 된 버전 보다 최신 버전을 참조 .NET FrameworkConfiguration Error - targetFramework attribute references a version that is later than the installed version of the .NET Framework

시나리오Scenario

ASP.NET 4.5를 대상으로 하는 웹 프로젝트를 성공적으로 게시 했지만,이 응용 프로그램을 실행 하는 경우 (customErrors 모드가 Web.config 파일에서 "off"로 설정 된 경우) 다음 오류가 발생 합니다.You successfully published a web project that targets ASP.NET 4.5, but when you run the application (with the customErrors mode set to "off" in the Web.config file) you get the following error:

Web.config 파일의 <컴파일> 요소에 있는 ' targetFramework ' 특성은 .NET Framework 버전 4.0 이상 (예: '<컴파일 targetFramework = "4.0">')에만 사용 됩니다.The 'targetFramework' attribute in the <compilation> element of the Web.config file is used only to target version 4.0 and later of the .NET Framework (for example, '<compilation targetFramework="4.0">'). ' TargetFramework ' 특성은 현재 설치 된 .NET Framework 버전 보다 최신 버전을 참조 합니다.The 'targetFramework' attribute currently references a version that is later than the installed version of the .NET Framework. .NET Framework의 올바른 대상 버전을 지정 하거나 필요한 .NET Framework 버전을 설치 하십시오.Specify a valid target version of the .NET Framework, or install the required version of the .NET Framework.

오류 페이지의 원본 오류 상자는 Web.config의 다음 줄을 오류의 원인으로 강조 표시 합니다.The Source Error box of the error page highlights the following line from Web.config as the cause of the error:

<컴파일 targetFramework = "4.5"/><compilation targetFramework="4.5" />

가능한 원인 및 해결 방법Possible Cause and Solution

서버에서 ASP.NET 4.5를 지원 하지 않습니다.The server does not support ASP.NET 4.5. 호스팅 공급자에 게 문의 하 여 ASP.NET 4.5에 대 한 지원을 추가할 수 있는 시기 및 시기를 확인 합니다.Contact the hosting provider to determine when and if support for ASP.NET 4.5 can be added. 서버를 업그레이드할 수 없는 경우 대신 ASP.NET 4 또는 이전 버전을 대상으로 하는 웹 프로젝트를 배포 해야 합니다.If upgrading the server is not an option, you have to deploy a web project that targets ASP.NET 4 or earlier instead.

ASP.NET 4 또는 이전 웹 프로젝트를 동일한 대상에 배포 하는 경우 웹 게시 마법사의 설정 탭에서 대상에서 추가 파일 제거 확인란을 선택 합니다.If you deploy an ASP.NET 4 or earlier web project to the same destination, select the Remove additional files at destination check box on the Settings tab of the Publish Web wizard. 대상에서 추가 파일 제거를 선택 하지 않으면 계속 해 서 구성 오류 페이지가 표시 됩니다.If you don't select Remove additional files at destination, you will continue to get the Configuration Error page.

프로젝트 속성 창에는 대상 프레임 워크 드롭다운 목록이 포함 되어 있지만 .NET Framework 4.5 에서 .NET Framework 4로 변경 하면이 문제를 해결할 수 없습니다.The project Properties windows includes a Target framework drop-down list, but you can't resolve this problem by just changing that from .NET Framework 4.5 to .NET Framework 4. 대상 프레임 워크를 이전 프레임 워크 버전으로 변경 하는 경우 프로젝트는 이후 프레임 워크 버전의 어셈블리에 대 한 참조를 계속 가지 며 실행 되지 않습니다.If you change the target framework to an earlier framework version, the project will still have references to the later framework version's assemblies and will not run. 이러한 참조를 수동으로 변경 하거나 .NET Framework 4 또는 이전 버전을 대상으로 하는 새 프로젝트를 만들어야 합니다.You have to manually change those references or create a new project that targets .NET Framework 4 or earlier. 자세한 내용은 .NET Framework 대상 웹 사이트를 참조 하세요.For more information, see .NET Framework Targeting for Web Sites.

보통 신뢰 오류Medium Trust Errors

시나리오Scenario

프로덕션 환경에서 응용 프로그램을 실행 하는 경우 보통 신뢰와 관련 된 오류를 가져옵니다.When you run your application in production, it gets an error related to medium trust.

가능한 원인 및 해결 방법Possible Cause and Solution

대부분의 타사 호스팅 공급자는 보통 신뢰 수준에서 웹 사이트를 실행 합니다. 즉, 일부 작업을 수행할 수 없습니다.Many third-party hosting providers run your web site in medium trust, which means that there are some things it isn't allowed to do. 예를 들어 응용 프로그램 코드는 Windows 레지스트리에 액세스할 수 없고 응용 프로그램의 폴더 계층 구조 외부에 있는 파일을 읽거나 쓸 수 없습니다.For example, application code can't access the Windows registry and can't read or write files that are outside of your application's folder hierarchy. 기본적으로 응용 프로그램은 로컬 컴퓨터에서 완전 신뢰로 실행 됩니다. 즉, 응용 프로그램이 프로덕션 환경에 배포할 때 실패 하는 작업을 수행할 수 있습니다.By default your application runs in full trust on your local computer, which means that the application might be able to do things that would fail when you deploy it to production.

문제를 해결 하기 위해 로컬 IIS 환경의 보통 신뢰 수준에서 실행 되도록 응용 프로그램을 구성할 수 있습니다.You can configure the application to run in medium trust in the local IIS environment in order to troubleshoot. 이렇게 하려면 응용 프로그램 web.config 파일을 열고 다음 예제와 같이 system.web 요소에 trust 요소를 추가 합니다.To do that, open the application Web.config file, and add a trust element in the system.web element, as shown in this example.

<configuration>
  <!-- Settings -->
  <system.web>
    <trust level="Medium" />
    <!-- Settings -->
  </system.web>
</configuration>

이제 응용 프로그램은 로컬 컴퓨터 에서도 IIS의 보통 신뢰 수준으로 실행 됩니다.The application will now run in medium trust in IIS even on your local computer.

Azure App Service에 배포 하는 경우에는이 작업을 수행 하지 마세요. Azure에는 보통 신뢰가 필요 하지 않기 때문입니다.Don't do this if you are deploying to Azure App Service, because Azure does not require medium trust. 이 자습서를 2012 년 2 월에 작성 하는 시점에이 방법을 사용 하 여 응용 프로그램이 보통 신뢰로 실행 되도록 하면 Azure에서 오류가 발생 합니다.At the time this tutorial is being written in February, 2012, using this method to make your application run in medium trust will cause an error in Azure.

Entity Framework Code First 마이그레이션를 사용 하 고 보통 신뢰 수준에서 응용 프로그램을 실행 하는 호스팅 공급자에 배포 하는 경우 버전 5.0 이상을 설치 했는지 확인 합니다.If you are using Entity Framework Code First Migrations and you are deploying to a hosting provider that runs your application in medium trust, make sure that you have version 5.0 or later installed. Entity Framework 버전 4.3에서는 마이그레이션에 데이터베이스 스키마를 업데이트 하기 위해 완전 신뢰가 필요 합니다.In Entity Framework version 4.3, Migrations requires full trust in order to update the database schema.

HTTP 404.17 찾을 수 없음 오류HTTP 404.17 Not Found Error

시나리오Scenario

IIS의 개발 컴퓨터에서 배포 된 사이트를 실행 하는 경우 서버에서 Default.aspx를 처리할 수 없음을 보고 하는 다음과 같은 오류 메시지가 표시 됩니다.When you run the deployed site on your development computer in IIS, you see the following error message reporting that the server can't process Default.aspx:

HTTP 오류 404.17-찾을 수 없음HTTP Error 404.17 - Not Found

요청 된 콘텐츠는 스크립트로 표시 되며 정적 파일 처리기에서 제공 되지 않습니다.The requested content appears to be script and will not be served by the static file handler.

가능한 원인 및 해결 방법Possible Cause and Solution

ASP.NET 4.5이 컴퓨터에 설치 되어 있지 않을 수 있습니다.ASP.NET 4.5 might not be installed on your computer. ASP.NET 4.5을 설치 하는 방법을 설명 하는이 시리즈의 테스트 환경으로 IIS에 배포 자습서의 단계를 참조 하세요.See the steps in the Deploying to IIS as a Test Environment tutorial in this series that explain how to install ASP.NET 4.5.