Travis CI for .NET,错误MSB4057:项目中不存在目标“包”

时间:2018-06-25 14:24:17

标签: amazon-web-services msbuild elastic-beanstalk travis-ci xbuild

我正在尝试使用Travis CI在AWS Elastic Beanstalk上构建和部署.NET Web API NancyFX。

根据AWS文档here,我需要使用以下参数运行msbuild:msbuild <web_app>.csproj /t:Package /p:DeployIisAppPath="Default Web Site"

我已经在本地计算机上完成了此任务,它可以正常工作并手动部署到EB,但是当我将其放入脚本部分下的.travis.yml文件中时,我是从Travis那里得到的:

  

错误MSB4057:项目中不存在目标“包”。

我的理解是Travis CI不使用msbuild,而是使用Mono xbuild,这显然与msbuild并不完全相同。我已经在xbuild之类的工具中搜索了/t:Package,但还没有提出太多建议。我不确定是否必须手动将构建的软件包打包为Web部署的应用程序源包(aw eb显然需要这样做),或者是否有办法使/t:Package参数起作用。

我尝试将nuget install MSBuild.Microsoft.VisualStudio.Web.targets -Version 14.0.0.3添加到.travis.yml的安装部分中,但这并不能解决问题。这是我的yml文件:

language: csharp
solution: testapp.sln
script:
    - msbuild "testapp.sln" /t:Package /p:DeployIisAppPath="Default Web Site" /p:PackageLocation=.\testapp.zip /p:Configuration=Release 

deploy:
    skip_cleanup: true
    provider: elasticbeanstalk
    access_key_id: <omitted>
    secret_access_key:
        secure: <omitted>
    region: "us-east-2"  
    app: "testapp"
    env: "testapp-env-1"
    bucket_name: "elasticbeanstalk-us-east-2-628753476924"
    zip_file: ".\testapp.zip"

我敢肯定我不是唯一一个尝试使用Travis将.NET Web应用程序部署到AWS EB的人...我想,所以总有一个解决方案。谢谢。

0 个答案:

没有答案