2013-06-13 4 views
0

꽤 큰 솔루션이 있습니다. 모든 것을로드하는 상위 프로젝트에는 많은 참조가 있고 모든 것이로드되고 있는지 확인하지 않는 것이 좋습니다. 나는 또한 우리가 사용하는 제 3 자 dll을위한 licx 파일을 가지고있다. 이 모든 것은 Visual Studio에서 잘 작동합니다.Mono xbuild로 licx (lc.bat)를 컴파일 할 때 "명령 줄이 너무 길다"고 수정하는 방법

그러나 xbuild (mono)를 사용하여 동일한 솔루션을 컴파일 할 때 "명령 행이 너무 길기 때문에 lic.bat 명령이 실패합니다".

도구 C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ bin \ lc.bat 실행이 인수로 시작되었습니다. --complist = my.licx --target = MyExe.exe --load = C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ lib \ mono \ 4.5 .. \ xbuild-frameworks.NETFramework \ v4.0 \ RedistList ... \ 4.0 \ System.dll --load = C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ lib \ mono \ 4.5 .. \ xbuild-frameworks.NETFramework \ v4.0 \ RedistList ... \ 4.0 \ System.Configuration.Install.dll --load = C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ lib \ mono \ 4.5 .. \ xbuild-frameworks.NETFramework \ v4.0 \ RedistList ... \ 4.0 \ System.Data.dll - -load = C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ lib \ mono \ 4.5 .. \ xbuild-frameworks.NETFramework \ v4.0 \ RedistList ... \ 4.0 \ System.Management. dll - load = C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ lib \ mono \ 4.5 .. \ xbuild-frameworks.NETFramework \ v4.0 \ RedistList ... \ 4.0 \ System. ServiceModel.dll --load = C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ lib \ mono \ 4.5 .. \ xbuild-frameworks.NETFramework \ v4.0 \ RedistList ... \ 4. 0 \ System.ServiceProcess.dll --load = ...... \ Common \ log4net.dll --load = C : \ PROGRA ~ 2 \ MONO-3 ~ 1.10 \ lib \ mono \ 4.5 .. \ xbuild- frameworks.NETFramework \ v4.0 \ RedistList ... \ 4.0 \ System.Configuration.dll

...........

......................

...................... ... 솔루션 정말 긴 경로와 다른 DLL을의

많은 더 많은 라인

...................

는이

시도하고이 licx 물건이 참조를 줄이기 위해 다른 프로젝트에 내 licx 파일을 이동하는 짧은 여기에 특정 프로젝트를 포함하거나 통해 인수를 전달하는 모노 말할 수있는 방법입니다 명령 실패 다른 메커니즘.

위로 질문하기 나는 lc.bat가 모든 dll을 참조해야하는 이유가 무엇인지 추측합니다. licx 파일과 그 안에 참조 된 dll에 대해서만 신경 쓰지 않을까요?

답변

0

구성 파일을 사용할 수없는 경우 명령 프롬프트에서 또는 명령 줄에서 가장 많이 사용되는 경로에 대한 배치 파일 내에서 드라이브 대체를 수행하십시오.

--load=C:\PROGRA~2\MONO-3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList........\4.0\System.dll 

--load=K:\System.dll 

적절한 경로를 사용해야합니다되고, ... 그래서 :

Subst K: C:\PROGRA~2\MONO-3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList........\4.0 

그런 다음 K와 명령의 모든 경로를 교체 (...) 대신 축약 된 것입니다.

+0

좋은 소리가 있지만 xbuild가 여기에서하는 일을 수정하는 것에 대한 액세스 권한이 없습니까? 귀하의 솔루션은이 문제에 대한 일반적인 솔루션입니까 아니면 xbuild에 연결할 수있는 것입니까? 그래, 어떻게? – Mark

+0

xbuild에 대해 알고 있어야합니다. lc.bat 파일을 자동으로 생성합니까? – Tony