Ben yaklaşık 350 csharp projelerden oluşan oldukça büyük bir yazılım parçası oluşturmak. Hata ayıklama için yapım süremiz yaklaşık 17 dakikadır.MSBuild & TeamBuild - BuildInParallel başarısız nedeniyle MSB3021 dosya izni ihlali
Oluşturma süresini geliştirmenin yollarını araştırıyorum ve BuildInParallel özelliği ilgi çekici görünüyordu. Özellikle dört çekirdekli bir sunucumuz olduğu için, aslında bilgisayar gücümüzden faydalanabilmeli.
Ama alas ... Mülkünüzü kurduktan sonra, yapılandırma aracının yapılandırma dosyasını değiştirip yeniden başlattıktan sonra, ilk çalıştırma gerçekten başarısız oldu.
Yapı günlüklerine baktıktan sonra, CopyLocal = true olarak belirtilen referansları kopyalamaya çalışırken, yapı başarısız oluyor gibi görünüyor. C# projesi A ve C# B projesi paralel olarak oluşturulmuşsa ve her ikisi de aynı üçüncü taraf dll'ye başvurur ve aynı anda kopyalamaya çalışırsa, dosyayı kopyalamaya çalışmak için ikinci işlem bir dosya erişim ihlali alır - Dosya başka bir işlem tarafından kullanılıyor.
Bunu yaşayan ve Team Build üzerinde çalışan çok procalı bir yapıya sahip olan var mı?
Burada, başka hangi projenin aynı zamanda oluşturulduğunu anlamak zor olan hatalardan biri.
Ben olmayan tüm ilgili şeyler kaldırdık: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets: dosyanın "c
54> Hedef "_CopyFilesMarkedCopyLocal" " projesinden " d: \ temp \ PCM \ 1.3-Maint_CI \ Sources \ Modules \ Core \ Test \ UnitTest \ TestDIPS.Core.Data.Server.NUnit \ TestDIPS.Core.Data.Server.NUnit.csproj ": 54> Görev "Kopyala" Dosya kopyalama ".......... \ Bin \ 3rdParty \ Oracle \ Oracle.DataAccess.dll" için "d: \ temp \ PCM \ 1.3-Maint_CI \ Binaries \ Debug \ Oracle.DataAccess.dll". Komut: copy/y ".......... \ Bin \ 3rdParty \ Oracle \ Oracle.DataAccess.dll" "d: \ temp \ PCM \ 1.3-Maint_CI \ Binaries \ Debug \ Oracle. DataAccess.dll " 54> c: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets (2703,9): hatası MSB3021: Dosya kopyalanamadı " ....... ... \ Bin \ 3rdParty \ Oracle \ Oracle.DataAccess.dll " için" d: \ temp \ PCM \ 1.3-Maint_CI \ Binaries \ Debug \ Oracle.DataAccess.dll ". işlemi, başka bir işlem tarafından kullanılmakta olduğundan 'd: \ temp \ PCM \ 1.3-Maint_CI \ Binaries \ Debug \ Oracle.DataAccess.dll' dosyasına erişemiyor. "Kopyalama" görevi yürütme işlemi tamamlandı - FAILED. 54> "TestDIPS.Core.Data.Server.NUnit.csproj" projesindeki "_CopyFilesMarkedCopyLocal" hedefleme hedefi tamamlandı - FAILED.
Geç cevap için özür dilerim, ancak açıklayıcı cevap için çok teşekkür ederim. Cevabınız en son bulgularıma uygun, test erişimcilerle problemlerim vardı. Test girişimlerini iptal etmem veya hedef dosyasını değiştirmem gerektiğini, ki yapmak istemediğimiz bir şey olduğunu buldum. Umarız bu, Team Build 2010/.Net 4.0 –