SORU
25 Mayıs 2013, CUMARTESİ


Nasıl Travis-CI C ile kullanırım# veya F#

Travis CI sürekli entegrasyon hizmeti resmi olarak birçok languages ama C değil destekler# veya F#.

Benim ile kullanabilirim .net projeleri?

CEVAP
25 Mayıs 2013, CUMARTESİ


Mümkündür.

1. Mono projesi üzerinde çalışmak gerekiyor

Kendi mono makine, terminal, cd çözüm dizine kullanarak ve komut çalıştırma 4**. Bu otomatik olarak çalışabilir, ya da mono olarak bazı verdiği gerekir visual studio kullanılan özellikleri var gibi olmayabilir.

Şeyler için dışarı bakmak için:

  • Dosyaları hataları, dosya adları büyük / küçük harf .csproj linux uyumlu olduğundan emin olmak için kontrol edin eksik windows olmayan yollar hassas bir durum var.
  • Nuget 6 ** xbuild projenizi otomatik geri çalıştırmadan önce gerektirir.
  • Mono örneği SSL sertifikaları kökü, mozroots --import --sync yüklemek için uygun olabilir.
  • Ayrıca, eksik dosya hataları, nuget.* yerine NuGet.* başvurular bkz .csproj biliyor nuget çeşitli sürümleri var.
  • 2.5 nuget hedef dosya bir hata içinde boşluk dayanmaktadır .hedef, here dosya geçici çözüm
  • FSharp 3.0 desteği için 3.0 mono gerekir.X veya daha yeni (ve kaynaktan, ama Mac OS X üzerinde varsayılan olarak yüklü inşa etmek gerekebilir)
  • '$(VisualStudioVersion)' == '11.0' Or $(OS) != 'Windows_NT' ekleyerek olmayan windows makinelerde VS2012 yapılandırma tetiklemek için VS2013, düzenlemek gerekebilir .fsproj gelen FSharp projeler için example bkz.

Mono 3.1.12, 3.2.4 ve daha sonra

  • 3.1.2, 3.2.4 Mono ve sonra pcl desteği var, ama aynı zamanda eksik PCL hatalar olabilir. Aşağıda listelenen hata altında bakMono 3.0.12sadece aşağıdaki çerçeve başvurular içerir:
    • v4., Profile136 0.NET Çerçeve 8, Windows Store apps (Windows 8) Telefon 5 4, Silverlight
    • v4., Profile14 0.NET Çerçeve 4, Silverlight 5
    • v4., Profile147 0.Çerçeve 4.0.3, 8, Windows Store apps (Windows 8) Telefon 5 Silverlight NET
    • v4., Profile158 0.NET Çerçeve 8, Windows Store apps (Windows 8) Telefon 5 4.5, Silverlight
    • v4., Profile19 0.NET Çerçeve 4.0.3, Silverlight 5
    • v4., Profile24 0.NET Çerçeve 4.5, Silverlight 5
    • v4., Profile37 0.NET Çerçeve 5, Windows Mağazası uygulamaları Silverlight 4, (Windows 8)
    • v4., Profile42 0.NET Çerçeve 4.0.3, 5, Windows Store apps (Windows 8) Silverlight
    • v4., Profile47 0.NET Çerçeve 5, Windows Mağazası uygulamaları Silverlight 4.5 (Windows 8)
    • v4., Profile5 0.NET Çerçeve 4, Windows Store apps (Windows 8)
    • v4., Profile6 0.NET Çerçeve 4.0.3, Windows Store apps (Windows 8)
    • v4., Profile49 5.NET Çerçeve 4.5, Windows Phone 8
    • v4., Profile7 5.NET Çerçeve 4.5, Windows Store apps (Windows 8)
    • v4., Profile78 5.NET Çerçeve 8, Windows Store uygulamaları Windows Phone 4.5 (Windows 8)

Mono 3.0.12

  • Mono 3.0.12 Taşınabilir Sınıf Kitaplıkları ama başvuru derlemeleri için hedefleri vardır. Unable to find framework corresponding to the target framework moniker '.NETPortable,Version=v4.0,Profile=ProfileX'. Framework assembly references will be resolved from the GAC, which might not be the intended behavior. Platform Kullanım Koşulları (altında bahsetti3.0.11 veya önceki Monoveya 3.1.2 yükseltme.

3.0.11 veya önceki Mono

  • Eğer nuget yoksa Hedef hatalar kayıp, yok, Taşınabilir sınıf kitaplığı hedef veya başka bir hedef kullanıyorsunuz, çünkü muhtemelen. Eğer projeniz için derlemek .net 4.0, değiştirebilirsiniz .csproj veya .böylece o fsproj,.net taşınabilir yapılar ve mono oluşturur .net 4.0. koşullu özelliği ayrı şeyler temelde mono <PropertyGroup Condition="$(OS) == 'Windows_NT'"> <TargetFrameworkProfile>Profile46</TargetFrameworkProfile> </PropertyGroup> Condition="$(OS) != 'Windows_NT' gruplar. Sizin kilometre değişebilir. Bakın çalışma example.

Mono 2.10.X

  • Ayrıca Mono v2.10.Microsoft bazı eksik.Nuget ihtiyacı olan sınıflar oluşturmak, v3 kopyalayabilirsiniz.0.X çok küçük olan dll,.nuget dizin. (here kullandım)

2. Komut satırından birim testleri çalıştırmak mümkün olacak.

.ci/nunit.sh nunit test için kendi benim kabuk, repo kök içine kontrol edilir. Nuget ile istiyorum nunit-konsol sürümü yüklemek ve yapılandırmak çok çeşitli kategoriler/dışlar vardır. Sizin kilometre değişebilir, ama bu teknik xunit vb için çalışması gerekir. Ya xbuild veya fake ile kendi işini yap.

.ci/nunit.sh

#!/bin/sh -x

mono --runtime=v4.0 .nuget/NuGet.exe install NUnit.Runners -Version 2.6.1 -o packages

runTest(){
    mono --runtime=v4.0 packages/NUnit.Runners.2.6.1/tools/nunit-console.exe -noxml -nodots -labels -stoponerror $@
   if [ $? -ne 0 ]
   then   
     exit 1
   fi
}

#This is the call that runs the tests and adds tweakable arguments.
#In this case I'm excluding tests I categorized for performance.
runTest $1 -exclude=Performance

exit $?

3. Mono için yapılandırma Travis

Mono v3.8.0

Kolay Mac bilgisayarlar (hedef tarafından language:objective-c v3.Mono kullanmak için en son mono test için 1.Bu yüklemek için sadece bir PAKET için bir DMG Mac 2 ve daha sonra değiştirildi dağıtım oldukça basittir. Bu şablon, Taşınabilir Sınıf Kitaplıkları desteği gerekir .NET 4.5.1 ve FSharp 3.1.

language: objective-c

env:
 global:
  - EnableNuGetPackageRestore=true 
 matrix:
  - MONO_VERSION="3.8.0"

before_install:
 - wget "http://download.mono-project.com/archive/${MONO_VERSION}/macos-10-x86/MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg"
 - sudo installer -pkg "MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg" -target /

script:
 - xbuild 
 - .ci/nunit.sh Tests/bin/Debug/Tests.dll

Hem Mono v2 Hedef.10.X ve v3.0.X

Kolay Mac ana kadar Mono birden çok sürümünü oluşturmak için bir matris için kurulum için kullanmam. Script aşağıya bakınız

language: objective-c

env:
 global:
  - EnableNuGetPackageRestore=true 
 matrix:
  - MONO_VER="2.10.11"
  - MONO_VER="3.0.12"

before_install:
 - wget "http://download.mono-project.com/archive/${MONO_VER}/macos-10-x86/MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.dmg"
 - hdid "MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.dmg"
 - sudo installer -pkg "/Volumes/Mono Framework MDK ${MONO_VER}/MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.pkg" -target /

script:
 - xbuild 
 - .ci/nunit.sh Tests/bin/Debug/Tests.dll

Linux için

Ve şimdi c travis kullanmak için gitmek için iyi olmalıdır# proje.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • ethr95awd

    ethr95awd

    8 Kasım 2006
  • schmittastic

    schmittastic

    9 EYLÜL 2009