2014-07-07 2 views
2

나는 Azure Websites에서 호스팅되는 C#MVC 사이트를 가지고 있고, 나는를 포함해야합니다 : 코드의

unsafe { 
    fixed (float* f = myFloatArray) { 

    } 
} 

블록을. 이것은 디버거를 통해 실행될 때 내 개발 컴퓨터에서 로컬로 훌륭하게 작동합니다. 내 프로젝트 설정에서 Allows unsafe code 체크 박스를 사용할 수 있습니다.

내 문제는 그 나는를 사용하여 푸른 웹 사이트에 프로젝트를 게시 때 마우스 오른쪽 버튼을 클릭하면 프로젝트가 게시 내가 확인하여 무엇을하고 있었는지 생각되는 (/unsafe 컴파일 할 필요가 빌드가 내게 말하길, 접근 방식을 내 프로젝트 설정의 Allow unsafe code 체크 박스).

unsafe 코드를 Azure Websites에 게시하려면 어떻게해야합니까? 여기서 내가 뭘 잘못 할 수 있니?

+3

게시 할 때'Debug'가 아닌'Release' 빌드에 대해 컴파일 중일 수 있습니다. 'Release' 빌드에도'안전하지 않은 코드 허용'을 설정 했습니까? –

+0

나는 Azure가 안전하지 않은 코드가 포함 된 프로젝트의 사용을 허용하지 않을 것으로 기대한다. 클라우드 컴퓨팅을 사용할 때 코드가 실행되는 시스템을 완전히 제어하지 않는 것이 중요하며 안전하지 않은 코드를 활성화 할 때는 이러한 제한을 사용할 수 없습니다. 안전하지 않은 코드를 배포하는 방법을 찾는 것은 방법을 찾으면 거의 확실한 보안 취약점입니다. – Servy

+0

@NathanA 와아, 나는 그것을 놓쳤다. 간단하고 모든 것을 설명합니다 :-) 감사합니다! – Brett

답변

6

게시 할 때 Debug이 아닌 Release 빌드에 대해 컴파일 될 수 있습니다.

Release 빌드에 대해서도 Allows unsafe code을 설정해야합니다.

+0

''안전하지 않은'코드는 완전한 신뢰를 필요로하며, 클라우드에서 실행될 코드를 게시 할 때 기본적으로 절대 가지지 않을 것입니다. – Servy

+0

@Servy Azure는 이것을 허용합니다. 나는 그들이 언제 그것을 바꿨는지 모르지만 내 코드가 (올바르게) 실행되기 때문에 적어도'unsafe' 키워드가 허용됩니다. – Brett

+0

@Servy는 사실 일 가능성이 높지만, Op의 특정 문제에 대한 해답은 Azure 제한 때문에 플래그가 Release에서 설정되지 않았다는 것입니다. –