8

Bu soru, önce birden çok kez sorulmuştur, ancak benim için çalışacak tipik çözümü alamıyorum. proposed solution "app.config" dosyasında bu koymaktır: "Bu çalıştırmak için çalışma zamanı sürümü bulunamadı: .NET 3.5 uygulamalarını yalnızca .NET 4 üzerinde çalıştıran .NET sistemleri

<configuration> 
    <startup> 
     <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 

Ama basit bir "Merhaba Dünya" programı ile, hala hatası alıyorum

uygulama.".

Bazı arka plan için Windows XP (Windows 7 üzerinde Windows Virtual PC üzerinden) kullanıyorum ve yalnızca .NET 4.0 çalışma zamanını XP'ye yükledim.

bazı araştırma sonra bu sayfayı bulundu: http://msdn.microsoft.com/en-us/library/ee941656.aspx#core

sizin uygulama yapılandırma dosyası uygulama name.exe.config için yeniden adlandırın, uygulama name.config adı verilirse It" sözü Örneğin, yeniden adlandırma. MyApp.config için MyApp.exe.config. "

Bu sorunu çözebileceğini düşünerek denedim, ancak yine de "Bu uygulamayı çalıştırmak için çalışma zamanının bir sürümü bulunamıyor." .NET 3.5 (istemci profili veya tam) uygulamayı WinXP'de .NET 4.0 ile çalıştırmaya çalıştığımda.

+1

Bunun iyi çalıştığı bilinmektedir. Bunu aslında "MyApp.exe.config" olarak değiştirmediniz, değil mi? Uygulamamı, programınızın adıyla değiştirin. –

+0

Nope, "app.config" olarak adlandırıldığından "app.config" den "app.exe.config" olarak yeniden adlandırdım. Programımın adı aslında "testOnNet40only" dir. Nathan'ın altında, eğer kullanıcı her şeyden sonra CLR 2.0-3.5'e ihtiyaç duyduğunu ima ediyor gibi görünüyor, bu yüzden herhangi bir şeyin işe yarayacağından emin değilim. –

+1

Bahsettiğim gibi görünüyor. "app.exe.config" iyi değil, "testOnNet40Only.exe.config" ismini vermelisiniz. Ve barındırma işlemi etkinken hata ayıklayıcısını kullanırsanız, o zaman "testOnNet40Only.vshost.exe.config" adlı olması gerekir. –

cevap

6

Onu kırdım. Bu kulağa dalabilir, ancak yapılandırma dosyasının kullanıcının klasöründeki son yürütülebilir dosya ile olması gerektiği ortaya çıkıyor. Bütün araştırmalarımdan sonra, bunun hiçbir yerde açıklığa kavuşmuş gibi görünmediği görülüyor. Ben sadece geliştirici klasöründe olmak için derleme amaçlı kullanıldığı düşünmekteydim.

VS düzenleyici dosya listesinde "app.config" olarak kalabilir. Ancak, derlendiğinde, VS otomatik olarak bunun yerine "{ProgramName} .exe.config" oluşturur (ve bin/release klasörüne koyar). Bu, son kullanıcının klasöründe yürütülebilir ile birlikte gitmesi gereken dosyadır.

Özetle, yalnızca .NET 4.0 yüklü bir sistemde .NET 3.5 uygulaması çalıştırmak mümkündür.