Visual Studio 2010'u kullanarak hem x86 hem de x64 hedeflerine sahip bir C# projesi oluşturmak için kullanıyorum. IDE'yi kullanarak oluşturduğumda, x64 ve x86 hedeflerinin doğru sonucunu elde ederim.bina x64 C# projesi 32 bit hedeflerle msbuild sonuçları
Komut satırında msbuild kullandığımda, komut satırında x64 belirtmeme rağmen, x86'da yerleşik olan her şeyi alıyorum.
.Net 4.0'dan .Net 4.5'e yükseltilene kadar bu sorunla karşılaşmadım.
.Net 4.0 ile Komut satırında x86 belirtsem bile x64 hedeflerimi alabiliyordum.
.Net 4.0 ortamında bir yapı yaptım ve daha sonra .Net 4.5 ortamında başka bir yapı yaptım ve çıktıyı günlük dosyalarına aktardım. Ben günlük dosyalarında bazı farklılıklar fark ama bu benim soruna neden budur düşünüyorum:
Ben günlük dosyasında bu satır göreceksiniz .NET 4.0'da:
/referans: C: \ Windows \ Microsoft. Net \ montaj \ GAC_MSIL \ Microsoft.CSharp \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ Microsoft.CSharp.dll
Ben günlük dosyasında bu satır göreceksiniz .NET 4.5 olarak: /r: "C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Microsoft.CSharp.dll "
Herhangi bir fikir? Seams. Net 4.5 x86 özel bir yol kullanıyor.
msbuild çalıştırmak için hangi komut satırını kullanıyorsunuz? Sln veya csproj dosyası oluşturuyor musunuz? Belirli bir yapılandırmayı nasıl geçirirsiniz? – Lanorkin
msbuild project.sln/p: Platform = "x64"/t: Temiz = Yeniden Yapılandırma/p: Yapılandırma = Hata Ayıklama – Tony
Yapılandırma "Yapı çözüm yapılandırması" Debug | x64 "' nin başlangıcında bu satırda doğru mu? Sonuçların yanlış olduğunu nasıl anlıyorsunuz? Hangi çıkış dizinleri oluşturulur - 'bin \ x86 \ Debug' veya' bin \ x64 \ Debug'? – Lanorkin