2011-08-16 9 views
8

Hem .NET 3.5 hem de .Net 4.0 için bir proje derlemem gerekiyor. Bunu yapmanın en düşük sürtünme yolu nedir? Bu projeyi başka bir derlemeden başvuruyorsam, hangi çalışma zamanının hedeflendiğini nasıl belirleyebilirim? Yoksa doğrudan ikili dosyalara başvurmalı mıyım?Bir projeyi hem .NET 3.5 hem de 4 için nasıl derlerim?

+2

Gerçek farklar var mıdır edilir kodunuzu veya

Temelde böyle bir şey ile sona erecek Farklı platformları hedeflerken hangi DLL'lere başvurursunuz? – alun

+1

Kodunuzda herhangi bir .NET4 özelliğini kullanmıyorsanız neden .NET 4 olarak derlemeye ihtiyacınız var? Bir .NET4 projesi, .NET 3.5 derlenmiş ikili dosyalarını herhangi bir sorun olmadan kullanabilir. – jgauffin

+0

Hayır, kodda fark yoktur. Tüm derlemeler 2.0 sürüm lib'leri referans alır. –

cevap

9

Bunu iki csproj dosyası alarak yapıyorum. Sonra sürümü, referansları, yapı sembollerini, vb. Kolayca ayarlayabilirim.

<Compile Include="..\TheMainProject\**\*.cs" /> 

Bu "tüm .cs dosyalarını derlemek diyor ve: (ikincil .csproj olarak) Ben

yani - hem de dosya listesini tutmak zorunda kalmamak için, ben dahil bir battaniye kullanın altında. \ TheMainProject ".

+0

Teşekkürler, bence bunun için gideceğim. –

1

Neden buna ihtiyacınız var? posta/ön build görev Eğer argüman "toolversion" bakın farklı bir çerçeve hedef

http://msdn.microsoft.com/en-us/library/ms164311.aspx

MSBuild.exe MyProject.proj /ToolsVersion:4.0 msbuild çalıştırabilirsiniz ile

ve

http://msdn.microsoft.com/en-us/library/ee395432.aspx

de bakabilirsiniz Ama yine de herhangi situat görmüyorum İhtiyacım olan iyon.

+0

Tam çalışma zamanı, silverlight, monodroid, vs. hedeflerken benzer bir durum var. Veya tabiki kodunuz .net sürümü arasında biraz farklıysa. Belki de sadece çerçevenin yeni sürümlerinde desteklenen bir özellik ekleyerek. – CodesInChaos

İlgili konular