Andrew의 질문에 따르면 응용 프로그램 풀을 공유하지만 프레임 워크의 다른 버전에서 실행되는 별도의 프로그램간에 충돌이있을 수 있습니다.
응용 프로그램 풀 자체에는 실행할 컴파일러/.net 프레임 워크 버전에 대한 설정이 없습니다. 이 설정은 응용 프로그램 풀에서 실행중인 응용 프로그램의 컴파일러 탭에서 설정되며 각 풀에서 하나의 프레임 워크 만 실행될 수 있습니다.
이것이 사실이라면 타이밍에 관한 것입니다. 응용 프로그램 풀이 자체에서 사용되는 프레임 워크를 구동하지 않으므로 응용 프로그램 풀에서 사용됩니다. 풀이 하나의 프레임 워크 만 실행할 수 있기 때문에 응용 프로그램 풀을 시작하는 첫 번째 응용 프로그램은 .net 프레임 워크에서 전체 풀이 실행되는 대상을 설정합니다.
풀이 2.0 응용 프로그램에 의해로드되거나 시작되면 1.1이 충돌합니다. 그런 다음 풀을 중지하고 다시 시작해야하며 풀이 1.1 프레임 워크와 함께 실행되게하는 1.1 응용 프로그램을 즉시로드합니다.
이 충돌을 해결하려면 별도의 응용 프로그램 풀을 만들고 풀에 응용 프로그램을 할당 할 수 있습니다.
또한 응용 프로그램의 컴파일러 탭이 올바르게 설정되어 있는지, 응용 프로그램이 올바른 응용 프로그램 풀에 있는지 확인해야합니다.
예를 들어 때로는 잘못 설정하여 혼란을 야기했습니다. 1.1 인 응용 프로그램이 있는지 확인하지만 IIS에서 컴파일러 탭이 2.0으로 설정되어 있는지 확인하십시오. 그 응용 프로그램이 풀을로드하는 첫 번째 경우 1.1 코드가 모두 2.0 프레임 워크와 호환되는 경우 해당 응용 프로그램에 대한 오류가 발생하지 않을 수도 있습니다 (그리고 적어도 내 경험에서 이것은 확실히 가능합니다) 확실히 문제가 발생할 수 있습니다.
다른 애플 리케이션 실수로 실패 응용 프로그램과 함께 수영장에 넣어 경우 또는 참조
....
당신의 AppPool을 하나 이상의 응용 프로그램에서 공유를? –
아니요, 더 이상 없습니다. 원래 여러 개의 1.x 응용 프로그램에 대해 하나의 AppPool이 있지만이 문제가 발생하면 다른 모든 응용 프로그램도 중단됩니다. 나는 그것을 분쇄하기 위해 자체 AppPool로 충돌하는 앱을 옮겼다. – Joe