簡體   English   中英

找不到Travis-CI'Microsoft.NETCore.App',版本'1.1.2'

[英]Travis-CI 'Microsoft.NETCore.App', version '1.1.2' was not found

首先,我是Travis CI的新手。 我正在嘗試使用DotNet Core 2.0 SDK和1.1.2運行時運行測試。 'dotnet restore'和'dotnet build'都運行得很好但是'dotnet test'失敗了。 然而,這在當地工作正常。


Dotnet錯誤

Test run for
MyProject.NETCore1_1.dll(.NETCoreApp,Version=v1.1)
Microsoft (R) Test Execution Command Line Tool Version 15.3.0-preview-20170628-02
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
Testhost process exited with error: It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '1.1.2' was not found.
  - Check application dependencies and target a framework version installed at: 
       /
    - Alternatively, install the framework version '1.1.2'.

Attemtps修復

我曾嘗試獨立安裝'1.1.2'共享框架運行時,但我也無法成功。

before_install:
- curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
- sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
- sudo sh -c 'echo "deb [arch=amd64] 
ttps://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
- sudo apt-get update
- sudo wget "https://download.microsoft.com/download/D/0/2/D028801E-0802-43C8-9F9F-C7DB0A39B344/dotnet-sharedframework-ubuntu-x64.1.1.2.deb"
- sudo dpkg -i dotnet-sharedframework-ubuntu-x64.1.1.2.deb
- sudo apt-get install -f

.travis.yml

sudo: required
dist: trusty
language: csharp
mono: none
dotnet: 2.0.0

env:
- CONFIGURATION=Release NOTHREADS= SECURITY=OFF $RUNCMD=test $PROJECT=MyProject.UnitTests.NETCore1_1.csproj

addons:
apt:
    packages:
    - ldap-utils
    - gnutls-bin
    - ssl-cert
    - slapd

before_script:
- whoami
- mkdir /tmp/slapd
# start setup ssl
# prepare folders
- mkdir -p /tmp/ssl/private
- mkdir -p /tmp/ssl/certs
# generate certs/keys
- sudo certtool -p --outfile /tmp/ssl/private/ca_server.key
- sudo certtool -s --load-privkey /tmp/ssl/private/ca_server.key --template config/cert_template.conf --outfile /tmp/ssl/certs/ca_server.pem
- sudo certtool -p --sec-param low --outfile /tmp/ssl/private/ldap_server.key
- sudo certtool -c --load-privkey /tmp/ssl/private/ldap_server.key --load-ca-certificate /tmp/ssl/certs/ca_server.pem --load-ca-privkey /tmp/ssl/private/ca_server.key --template config/cert_template.conf --outfile /tmp/ssl/certs/ldap_server.pem
# permissions
- sudo usermod -aG ssl-cert travis
- sudo chown travis:ssl-cert /tmp/ssl/private/ldap_server.key /tmp/ssl/certs/ldap_server.pem /tmp/ssl/certs/ca_server.pem
- sudo chmod 640 /tmp/ssl/private/ldap_server.key /tmp/ssl/certs/ldap_server.pem /tmp/ssl/certs/ca_server.pem
# end setup ssl
# start ssl
- slapd -f config/slapd.conf -h "ldap://localhost:4389 ldaps://localhost:4636" &
# give openldap enough time to start
- sleep 5
# test to see that is running
- ldapwhoami -H ldap://localhost:4389 -D "cn=root,dc=example,dc=com" -w password 
- ldapadd -h localhost:4389 -D cn=root,dc=example,dc=com -w password -f config/baseDn.ldif

script:
- dotnet restore
- dotnet build --configuration $CONFIGURATION $PROJECT
- export TRANSPORT_SECURITY=$SECURITY; dotnet $RUNCMD $PROJECT $NOTHREADS --configuration $CONFIGURATION

編輯1

這是最新的travis構建日志的鏈接,其中包含推薦的libcurl3 apt軟件包,其中包含前面描述的相同的dotnet錯誤。 我還更新了標題和說明,以增加清晰度。 - TravisCI構建日志

根據這篇博文 ,我已經解決了我的問題。 將以下源和apt包添加到.travis.yml文件中:

sources:
- sourceline: 'deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main'
  key_url: 'https://packages.microsoft.com/keys/microsoft.asc'
packages:
- dotnet-hostfxr-1.0.1
- dotnet-sharedframework-microsoft.netcore.app-1.1.2

它似乎非常微妙,但根據相關問題的答案,您可能需要將libcurl3添加到apt軟件包部分,因為dotnet restore需要安裝才能下載.NET Core框架。

像這樣的東西:

addons:
  apt:
    packages:
    - libcurl3
    - ldap-utils
    - gnutls-bin
    - ssl-cert
    - slapd

編輯:

抱歉,我對.NETCore開發的了解不足以幫助您。 我分叉了您的repo並嘗試了一個建議的修復<RuntimeFrameworkVersion> .csproj文件中的<RuntimeFrameworkVersion>配置屬性設置為1.1.2 ,但這並沒有修復任何問題。

似乎使用.NETCore Docker鏡像的人有類似的問題(我猜它與在TravisCI環境中運行的情況差不多),並且Scott Hanselman提到了類似的版本不匹配問題 ,盡管他正在使用一個project.json文件設置他的庫版本,我在你的repo中看不到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM