Microsoft MVP성태의 닷넷 이야기
Visual Studio 2015 에서 msbuild 12 사용 [링크 복사], [링크+제목 복사],
조회: 11810
글쓴 사람
짜두
홈페이지
첨부 파일
 

안녕하세요 짜두 입니다. 연말을 맞이 하여 안부인사대신 질문 하나 올립니다. ^^;

혹시 Visual Studio 2015 에서 msbuild 를 14 가 아닌 12 버전으로 빌드할 수 있는 방법이 있는지 싶어서 문의 드립니다.
현재까지 알아본 바로는 Project 속성에서 toolversion 을 12로 설정하면 된다는 말이 있어 (Project ToolsVersion="12.0") 해보았는데 안되네요 ㅠㅠ

리서치중 저와 거의 유사한 사례가 있는데요,
http://stackoverflow.com/questions/33791934/compiling-for-toolsversion-12-with-visual-studio-2015
해결책을 찾은것 같진 않아보입니다.

여기도 MSDN 링크를 걸어놓았는데,
https://msdn.microsoft.com/en-us/library/bb383985.aspx

혹시 여기서 얘기하는 'MSBUILDTREATALLTOOLSVERSIONSASCURRENT' 를 당췌 어디서 설정해야 하는지도 의문이네요.









[최초 등록일: ]
[최종 수정일: 12/19/2016]


비밀번호

댓글 작성자
 



2016-12-19 01시54분
잘 상황이 이해가 안되는데... 그러니까 12 버전으로 빌드하려는 목적이 뭐죠? ^^ 간단한 예제와 함께 14인 경우 이렇게 빌드되고, 12인 경우 이렇게 빌드된다는... 그런 차이점을 알 수 있을까요?
정성태
2016-12-19 02시01분
[짜두] 일단 TargetFramework 가 3.5 client 이고요,
신기한게 14로 빌드한 경우와 12로 빌드한 경우의 바이너리가 사이즈 차이가 나고 있어요, (12의 경우가 거 큼)
Assembly Diff 같은 툴로 비교를 한번 시도해 보았습니다만, 큰 수확을 거두진 못했어요 ㅠ

12버전으로 빌드한 경우에만 런타임에서 정상적으로 실행이 됩니다.

특이한게 이 프로젝트의 경우 DataModel 용도의 것들인데, 빌드시 이런 차이가 있네요...
솔루션이 좀 커서 예제로 분리는... 한번 시도해보겠습니다.^^;
[guest]
2016-12-19 02시23분
바이너리 사이즈는, (2015부터 Roslyn으로 바뀌었다는 것을 제외해도) 컴파일러 버전에 따라 달라질 수 있으니 당연한 것이고.

문제는, Visual Studio 2015에서 해당 프로젝트가 TargetFramework 3.5 Client Profile로 되어 있는데 그걸 클라이언트로 내려보낸 경우 실행을 못 시킨다는 건가요? (음... 믿기 어렵지만... ^^)

혹시, 포함된 프로젝트 중에 TargetFramework가 3.5 Full Framework Profile에만 있는 어셈블리를 참조해서 그런 것 아닐까요? 암튼, 재현되는 최소한의 프로젝트가 있으면 보내줘요. ^^
정성태
2016-12-19 04시34분
[짜두] 음 그런경우라면 12/14 버전 상관 없이 오류가 나야하는건 아닌가요?
암튼 3.5 client profile 에만 있는 어셈블리를 참조한것은 아닌 것으로 확인됩니다.
분리를 한번 해보고 있는데요, 하다보면 문제점을 찾을 수도 있을거 같긴하네요ㅎ
암튼 감사합니다.
[guest]
2016-12-19 10시26분
허긴... 그럼 12/14 가리진 않겠군요. ^^;
정성태

1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5806스레드1/25/20233159총정리 - 다양한 스레드들 [초안] [1]파일 다운로드1
5805어웨이트1/25/20233020Taskcontinuewith vs Async/Await [2]파일 다운로드1
5804나이많은...1/25/20232893MS의 Dependency Injection(DI)에 AddSingleton으로 등록된 객체의 Event 등록후 사용시 앱 종료시 별도로 Event를 해지해야 하나요? [2]
5803dssc...1/24/20233118드라이브 문자를 통해서 물리 디스크 명칭을 알아내고 싶습니다. [1]
5802모바일앱1/22/20232997XAMARINE vs Android Studio [7]
5801블루투스1/19/20233731WPF 은행지폐계수기 개조 후 결과값 서버 전송 [2]파일 다운로드1
5800김민아1/19/20234076안녕하세요 가비지 컬렉터 동작 원리 중 궁금한점이 있습니다 [5]
5799guest1/19/20233209C# 공유폴더 내 Acess 디비 공유 [2]
5798kss1/19/20233000책 오탈인가요? [1]
5797이거비버1/19/20233077C# 공부 이후 MS 프레임워크.. 어느것을 공부해야할까요? 너무 많아서 정신이 없네요 [5]
5796guest1/19/20232791해킹 test [3]
5795동기1/18/20232630동기 스레드와 메서드와 While [2]
5794박규동1/18/20232612.net publish 할때마다 runtimeconfig 값이 바뀌는 현상 [1]
5793후후훗1/18/20232789.NET Core 에서 사용중인 함수 후킹 방법 [2]
5792Will...1/18/20232709소스코드 Log Write 기능을 리스트업 질문 [9]
5791PLC1/16/20233416C# - 실시간 5개 룸 모니터링 [15]
5790집으로 ...1/13/20233082[UI 멈춤 현상]deadlock 관련 글을 보고 혹시나 하고 문의 드립니다. [4]
5789guest1/10/20232961스레드와 Async Task [2]파일 다운로드1
5788kr11/10/20233433C# 에서 제공하는 컬렉션들의 차이점이 궁금합니다. [3]
5787stack1/10/20233217STACKOVERFLOW [1]
5786Dev ...1/9/20234082익명 클래스 말고 익명 구조체는 불가능한걸까요? [4]
5785음성인식1/8/20233679음성인식 System.Speech - 문법에 사용된 언어가 음성 인식기의 언어와 일치하지 않습니다. [2]
5784MS워드1/8/20233302MS워드에서 ctrl Z는 클립보드를 이용하나요? 아니면 참조자 이용하나요? [7]
5783구직자1/7/20233343C#개발자 구인광고와 초급개발자 [3]파일 다운로드1
5782Sqli...1/5/20233322윈도우11 노트북에서 exe(Sqlite)만들어 윈도우 7 PC에 설치 시 [5]
5781List맨1/5/20233848List.Add("newobj") 속도는 빠른 편인지요? [11]
1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...