C#으로 작성된 .NET Framework 3.5를 사용하는 .NET 응용 프로그램이 있습니다. 응용 프로그램은 BeginInvoke를 사용하여 대리자를 비동기 적으로 호출합니다. Visual Studio 2012 RC를 사용하여 컴파일 할 때 응용 프로그램이 제대로 작동하지만 Visual Studio 2010 SP1 (주 스레드가 비동기 대의원이 완료되기를 기다리는 WaitOne에서 멈추지 만 실행되지 않음)로 컴파일 할 때 고정됩니다.Visual Studio 2012 .NET 다중 대상 지정 및 비동기 콜백
버그가 잘못 설계된 동기화 상태 일 가능성이 있지만 놀랍지 만 VS 2012에서 작동하고 VS 2010에서 작동하지 않는 이유는 두 프레임 워크 모두에서 동일한 프레임 워크 버전을 대상으로하고 있기 때문입니다.
Visual Studio for .NET에서 다중 대상 지정은 어떻게 구현됩니까? 동일한 프레임 워크 버전을 타겟팅 할 때 실행 가능 동작이 동일해야하거나 사용되는 Visual Studio 버전에 따라 일부 (컴파일러 프런트 엔드 또는 런타임 라이브러리의 일부)가 있어야합니까?
Microsoft가 버그를 자동으로 고쳤다는 것에 대해 놀라지 않는 이유는 무엇입니까? – leppie
당신은 이것에 대한 작은 repro을 가지고 있습니까? –
@DavidKean 설명은 이미 답변에 있습니다 (foreach 변수의 다른 범위). 따라서 더 이상이 문제에 관심이 없습니다. – Suma