2010-03-03 5 views
1

게시 빌드 명령 줄을 사용하여 GAC에서 클래스 라이브러리를 가져 오려고합니다.64 비트 VS2008 게시물 빌드 이벤트 명령 줄

"%programfiles%\Microsoft SDKs\Windows\v6.0A\Bin\x64\gacutil.exe" -if $(TargetPath) 

내가 어떤 오류가 표시되지 않습니다,하지만 내 DLL은 GAC에 점점되지 않습니다 때문이다. 그러나 DOS 프롬프트에서 실행할 수 있으며 제대로 작동합니다. 이 명령을 VS와 같이 작동 시키려면 특별히 필요한 것은 무엇입니까?

+0

빌드 후 "어셈블리가 캐시에 성공적으로 추가되었습니다"라는 메시지가 표시됩니까? 나는 추측하고있다. .. 그러나 나는 흥미있다. –

+0

아니요,하지만 DOS 창에서 실행할 때 보았습니다.하지만 놀랍지는 않습니다. – bmw0128

+0

이상하게 보입니다. 어쩌면 "빌드 후 이벤트 실행"옵션을 "항상"으로 설정하십시오. –

답변

2

대답은 64 비트 시스템에서, % PROGRAMFILES %가 도움의 모든

%ProgramW6432% or %ProgramFiles(x86)% 

감사로 대체 될 필요가 있다는 점이다.

+0

죄송합니다. 64 비트 OS를 사용하고 있다고 언급하지 않았습니다. – bmw0128

+0

오류가 발생하지 않았는지 궁금합니다. 나는 32 비트 대 64 비트 문제에 대해 생각했다.하지만 바이너리를 좋아하지 않는다면 어떤 종류의 에러를 보여 주어야한다고 생각했다. 어쨌든, 답변을보고하고 답하는 +1. –

1

Vista, Win7 또는 Win 2008에서 실행 중이며 UAC로 인해 비 관리자 컨텍스트에서 Visual Studio가 실행되고 있습니까? 관리자 권한으로 명령 프롬프트를 실행하고 있습니까?

+0

Windows 2008 R2 Server에 관리자로 로그인 했으므로 DOS 명령 창을 열었을 때 그 사람이 누구인지, 내가 실행 중일 때 같지 않다고 생각하십니까? VS에서? UAC 란 무엇입니까? – bmw0128

+1

UAC는 User Access Control (사용자 액세스 제어)입니다. 관리자 인 경우에도 권한을 축소 할 수있는 방법입니다. 작업에 관리자 권한이 필요한 경우 작업을 실행 한 사람인지 묻는 팝업이 표시됩니다. 그것의 목적은 당신이 알아 차리지 못한 채로 멀웨어가 당신 대신에 행동하는 것을 막는 것입니다. Win2K8 R2에서 gacutil이 잘 실행되도록 UAC를 끄고 명령 프롬프트가 실행된다고 생각하면. VS 바로 가기를 마우스 오른쪽 버튼으로 클릭하고 '관리자 권한으로 실행'을 찾아 선택한 다음 다시 시도하십시오. – Timores

+0

시도하고 아무 것도 시도하지 않고 마우스 오른쪽 버튼을 클릭하여 "관리자 권한으로 실행"을 선택했습니다. UAC와 관련하여 아무 것도하지 않았습니다. – bmw0128

0

당신은 대상의 주위에 따옴표를해야 할 수도 있습니다 "$(TargetPath)"

+0

그 일을하지 않았다면 – bmw0128

+0

경로에 공백이 없다면 아무런 차이가 없을 것입니다. 생각해 보니, 공간이 있다면 출력 오류를 보았을 것입니다. –

관련 문제