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
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.*
yerineNuGet.*
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
- Yeni beta tanımı Answer below bkz.
Ve şimdi c travis kullanmak için gitmek için iyi olmalıdır# proje.
Nasıl bir metin veya resim şeffaf bir ...
Nasıl özel yöntemleri, alanları veya i...
Nasıl değişken olup olmadığını belirle...
Nasıl Ruby alt veya üst durumda bir di...
Nasıl hata ayıklama Firebug (veya benz...