Я пытаюсь применить методы непрерывной интеграции в проекте разработки, над которым я работаю, поэтому я использую Travis CI. Проект, над которым я работаю, - это игра, которая прекрасно строится в Visual Studio. Но после внесения любого изменения, которое я делаю на GitHub, когда Тревис пытается его создать, оно всегда терпит неудачу. Ниже приведено сообщение об ошибке, которое я получаю в журнале работ Travis CI.
Сборка началась 11/11/2018 11:59:03.
Проект "/home/travis/build/Jeryxem/Escapade/MyGameWin.sln" на узле 1 (цели по умолчанию).
/home/travis/build/Jeryxem/Escapade/MyGameWin.sln.metaproj: ошибка MSB4126: указанная конфигурация решения "Release | x86" недействительна. Укажите допустимую конфигурацию решения, используя свойства Configuration и Platform (например, MSBuild.exe Solution.sln / p: Configuration = Debug / p: Platform = "Any CPU"), или оставьте эти свойства пустыми, чтобы использовать конфигурацию решения по умолчанию. [/Home/travis/build/Jeryxem/Escapade/MyGameWin.sln]
Готовый строительный проект "/home/travis/build/Jeryxem/Escapade/MyGameWin.sln" (цели по умолчанию) - СБОЙ.
Сборка НЕ удалась.
Мой .travis.yml
файл содержит только это:
language: csharp
solution: Escapade.sln
В результате проведенного мной исследования я думаю, что мне нужно отредактировать файл csproj
, чтобы изменить сведения о платформе и / или конфигурации. Ниже приведено полное содержимое моего csproj
файла.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug-Windows</Configuration>
<ProjectGuid>{A9DCAC72-BC77-4C33-BE70-BBFD31D7C798}</ProjectGuid>
<RootNamespace>Escapade</RootNamespace>
<MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
<AssemblyName>Escapade</AssemblyName>
<SuppressXamMacUpsell>True</SuppressXamMacUpsell>
<SuppressXamMacMigration>True</SuppressXamMacMigration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<OutputType>WinExe</OutputType>
<ApplicationIcon>Resources\SwinGame.ico</ApplicationIcon>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug-Windows|x86' ">
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<EnableCodeSigning>false</EnableCodeSigning>
<CreatePackage>false</CreatePackage>
<EnablePackageSigning>false</EnablePackageSigning>
<IncludeMonoRuntime>false</IncludeMonoRuntime>
<UseSGen>false</UseSGen>
<UseRefCounting>false</UseRefCounting>
<Profiling>false</Profiling>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<OutputType>WinExe</OutputType>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PrepareForRunDependsOn>$(PrepareForRunDependsOn);CopyLibsToOut</PrepareForRunDependsOn>
</PropertyGroup>
<ItemGroup>
<Content Include="Resources\panels\meta.txt" />
</ItemGroup>
<ItemGroup>
<Reference Include="SwinGame">
<HintPath>lib\SwinGame.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<WinLibs Include="lib\win32\*.dll" />
<None Include="Resources\images\tiles\overlay_diamond.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\overlay_emerald.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\overlay_ruby.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\overlay_sapphire.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_east.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_inner_1.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_inner_2.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_inner_3.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_north.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_northeast.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_northwest.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_south.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_southeast.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_southwest.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_vertex_northeast.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_vertex_northwest.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_vertex_southeast.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_vertex_southwest.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_wall_horiz.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_wall_vert.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_west.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\animations\startup.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\bundles\FileDialog.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\bundles\splash.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\fonts\arial.ttf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\fonts\cour.ttf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\fonts\maven_pro_regular.ttf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\fdFile.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\fdFolder.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\FileDialog_Active.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\FileDialog_Background.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\FileDialog_Inactive.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\FileDialog_Scroll.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\FileDialog_ScrollSmall.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\Swinburne.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\SwinGameAni.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\panels\FileDialog.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\sounds\error.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\sounds\SwinGameStart.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\SwinGame.icns">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\SwinGame.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_pointnorth.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_pointsouth.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_pointwest.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Resources\images\tiles\rock_pointeast.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Compile Include="Countdown.cs" />
<Compile Include="GameLevel.cs" />
<Compile Include="src\Entry.cs" />
<Compile Include="src\gui\MetaHandler.cs" />
<Compile Include="src\Location.cs" />
<Compile Include="src\mineral\gemstone\Sapphire.cs" />
<Compile Include="src\mineral\gemstone\Ruby.cs" />
<Compile Include="src\mineral\gemstone\Emerald.cs" />
<Compile Include="src\mineral\gemstone\Diamond.cs" />
<Compile Include="src\mineral\gemstone\Gemstone.cs" />
<Compile Include="src\mineral\Mineral.cs" />
<Compile Include="src\MovableObject.cs" />
<Compile Include="src\Entity.cs" />
<Compile Include="src\Path.cs" />
<Compile Include="src\PathNode.cs" />
<Compile Include="src\Player.cs" />
<Compile Include="src\Tile.cs" />
<Compile Include="src\TileType.cs" />
<Compile Include="src\World.cs" />
<Compile Include="src\Item.cs" />
<Compile Include="src\Inventory.cs" />
<Compile Include="src\gui\GuiEnvironment.cs" />
<Compile Include="src\gui\Renderer.cs" />
<Compile Include="src\gui\Frame.cs" />
<Compile Include="src\gui\GuiEvent.cs" />
<Compile Include="src\Escapade.cs" />
<Compile Include="src\BitmapMask.cs" />
<Compile Include="src\gui\Button.cs" />
<Compile Include="Weapon.cs" />
<Compile Include="WeaponType.cs" />
<Compile Include="AttackDirection.cs" />
<Compile Include="GlobalConstants.cs" />
<Compile Include="Enemy.cs" />
<Compile Include="Projectile.cs">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
</ItemGroup>
<ItemGroup />
<Target Name="CopyLibsToOut">
<Copy SourceFiles="@(WinLibs)" DestinationFolder="$(OutDir)" />
</Target>
</Project>
Что мне нужно изменить, чтобы убедиться, что моё решение может быть построено без ошибок на Travis CI? Любая идея, как предоставить правильную конфигурацию решения, чтобы я больше не получал ошибку MSB4126?