2014-06-16 2 views
1

내가 가지고있는 Asp.Net MVC 프로젝트는 C++/cli 어셈블리를 참조하며 이는 차례로 일부 기본 C++ DLL을 참조합니다. 이것은 궁극적으로 웹 역할로 하늘색 웹 서비스로 게시됩니다.IIS의 기본 파일을 어떻게 참조합니까?

This은 시작 작업의 "% windir % \ system32 \ inetsrv"폴더에 원시 dll을 복사하여 롤이 시작할 때 웹 역할이 찾을 수 있도록하는 것이 좋습니다. 이것은 클라우드에서 예상대로 작동합니다.

그러나 로컬로 디버깅 할 때 IIS Express에서이 DLL을 사용할 수 있기를 바랍니다. 이것들은 64 비트 dll이므로 IIS의 64 비트 버전을 실행해야합니다. 나는 IIS Express 64 비트에 대해 % windir % \ system32 \ inetsrv와 같은 것을 계산하려고합니다. DLL이 배포/디버깅에 로컬로 복사됩니다 있도록

답변

2

결과는 % windir %입니다.

32 비트 프로세스를 실행할 때 64 비트 시스템에서 SysWoW64로 리디렉션됩니다.

VS가 32 비트이므로 시작 작업이 VS 내에서 32 프로세스로 실행되고 파일이 잘못된 디렉토리로 복사됩니다.

VS에서 작업 할 때 %windir%\Sysnative을 사용하면 % windir %를 사용하면 IIS 전체에 대한 문제가 해결됩니다.

IIS의 경우 올바른 디렉터리는 "C : \ Program Files \ IIS Express"입니다.

0

Set as copy local

Copy Local 참조의 속성을 설정할 수 없습니다? 내가 뭔가를 놓치지 않는 한, IIS가 필요한 위치를 파악할 수 있어야합니다.

+0

네이티브 파일 참조에서는 작동하지 않습니다. 그것은 정확하게 문제입니다. – NVM

관련 문제