2014-12-17 19 views
5

TFS 2010'dan TeamCity'ye geçiş yaptık ve çözüm dosyamızı oluşturma konusunda sorunlarımız var.TeamCity yapı sunucusunu kullanarak .NET 4.0 ASP.Net çözümü + google-api-dotnet istemcisi hataları oluşturma

.NET 4.0 kullanıyoruz. Google kütüphanesi, oluşturmaya çalışırken .NET 4.0 + system.net.http ile ilgili sorunlara neden oluyor. Bu kurulumun TFS üzerinde çalışmasını (MSBuild 4.0'ı kullanıyor) hata olmadan almayı başardık. -:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.6.9.0" newVersion="2.6.9.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.6.9.0" newVersion="2.6.9.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.2.28.0" newVersion="2.2.28.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.2.28.0" newVersion="2.2.28.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 

Biz zaten denedi: Farklı yolluk çeşitleri :

App.config doğru assemblybindings olmalıdır Görsel stüdyosu, MsBuild - Başvurulan tüm DLL doğrudan (google + system.net.http + ResolveAssemblyReference]: C: - vs.) Kullanım düz Nuget Paketi bu dLL hakkında geri (Tamam her şeyi)

Yapı hatadır geri) \ Program Files (x86 \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion .targets (1635, 5): MSB3268 uyarısı: Th "Google.Apis.Auth.PlatformServices, Version = 1.9.0.26016, Culture = neutral, processorArchitecture = MSIL" birincil başvurusu, "System.Net.Http, Version = 2.2 'ye dolaylı bağımlılığı olduğu için çözümlenemedi. .22.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a "şu anda hedeflenen çerçevede çözümlenemedi. " .NETFramework, Sürüm = v4.0" . Bu sorunu çözmek için, "Google.Apis.Auth.PlatformServices, Version = 1.9.0.26016, Culture = neutral, processorArchitecture = MSIL" referansını kaldırın veya uygulamanızı "System.Net.Http, Sürüm" içeren bir çerçeve sürümüne yeniden hedefleyin. = 2.2.22.0, Kültür = tarafsız, PublicKeyToken = b03f5f7f11d50a3a ".

Ardından: [07:58:29] w [MSBuild çıkış] C: \ BuildAgent iş \ \ dda43f1992063b18 \ Entegrasyon \ CalendarSync \ Devices \ hakkında Takvim \ GoogleCalendarDevice.vb (788,78): hata BC30009 : 'Google.Apis.Requests.IDirectResponseSchema' arayüzünü içeren 'Google.Apis, Sürüm = 1.9.0.23042, Culture = neutral, PublicKeyToken = null' montajı için referans gereklidir. Projenize bir tane ekleyin. [C: \ BuildAgent \ work \ dda43f1992063b18 \ Entegrasyon \ CalendarSync \ Severa.Integrations.CalendarSync.vbproj]

cevap

1

Artık sorun için en uygun çözümümüz yok.

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.Net.Http.2.0.20710.0\lib\net40 

C:\Program Files (x86)\Microsoft Web Tools\Packages\Microsoft.Net.Http.2.0.20710.0\lib\net40 

bu yerlerde sürüm olduğundan bu yanlıştır: 1.0.0.0 MsBuild bu konumlardan birinden yanlış sürümünü bulur. biz 2.2.28 sürümü ile tüm bu yerleri değiştirirseniz o Aşağıdaki denedi .. çalışır:

  • Compliation.config Web.config doğru paketlerine
  • Sln dosya ipuçları bindingredirect
  • aksamı ekleyin.

Ne yazık ki TC temsilcimiz paylaşılan bir ortamda olduğundan, bu dosyaların tümünü bu konumlarda değiştiremeyiz.

Herhangi bir fikrin var mı?