Skip to content

Commit

Permalink
Merge pull request #7862 from MonoGame/develop
Browse files Browse the repository at this point in the history
3.8.1 HOTFIX
  • Loading branch information
mrhelmut committed Jul 26, 2022
2 parents 00cc76f + 574fd7f commit cd81db5
Show file tree
Hide file tree
Showing 26 changed files with 113 additions and 94 deletions.
17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
# Changelog

## 3.8.1 HOTFIX Release - July 26, 2022

## 3.8.1 Release - July 1, 2022
## What's Changed
- Fix MonoGame publisher name for the VS marketplace by @mrhelmut in https://github.com/MonoGame/MonoGame/pull/7847
- Corrected 'Framwork' to 'Framework' by @benjitrosch in https://github.com/MonoGame/MonoGame/pull/7850
- added missing words to platforms.md by @MrGrak in https://github.com/MonoGame/MonoGame/pull/7852
- Fixed grammatical error from 'project' to 'projects' by @benjitrosch in https://github.com/MonoGame/MonoGame/pull/7855
- Grammar Hotfix on README by @Emersont1 in https://github.com/MonoGame/MonoGame/pull/7856
- Remove redundant dependencies by @vpenades in https://github.com/MonoGame/MonoGame/pull/7854
- Fixes Visual Studio freezing with the extension by @mrhelmut in https://github.com/MonoGame/MonoGame/pull/7857
- Updated migration guide by @mrhelmut in https://github.com/MonoGame/MonoGame/pull/7858
- More migration guide updates by @mrhelmut in https://github.com/MonoGame/MonoGame/pull/7859
- Wild cards don't work in dotnet-tools.json by @mrhelmut in https://github.com/MonoGame/MonoGame/pull/7860
- Removed explicit global usings by @vpenades in https://github.com/MonoGame/MonoGame/pull/7853

## 3.8.1 Release - July 24, 2022

## What's Changed
- Update build version to 3.8.1.xxxx by @tomspilman in https://github.com/MonoGame/MonoGame/pull/7296
Expand Down
4 changes: 2 additions & 2 deletions Documentation/articles/getting_started/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
href: 2_creating_a_new_project_netcore.md
- name: 3. Understanding the Code
href: 3_understanding_the_code.md
- name: Adding Content
- name: 4. Adding Content
href: 4_adding_content.md
- name: Adding Basic Code
- name: 5. Adding Basic Code
href: 5_adding_basic_code.md
68 changes: 65 additions & 3 deletions Documentation/articles/migrate_38.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Migrating from 3.8.0 should be straightforward for most platforms.

The major difference is that 3.8.1 now requires .NET 6 and Visual Studio 2022. You can follow the [environment setup tutorial](./getting_started/0_getting_started.md) to make sure that you are not missing any components.

The MGCB Editor is no more global .NET tool and we recommend that you use the new Visual Studio 2022 extension which helps accessing it without the need of CLI commands.
The MGCB Editor is no longer a global .NET tool and we recommend that you use the new Visual Studio 2022 extension which helps accessing it without the need of CLI commands.

## WindowsDX, DesktopGL, and UWP

Expand All @@ -19,10 +19,72 @@ Edit your csproj file to change your ```TargetFramework```:
Then edit your MonoGame ```PackageReference``` to point to 3.8.1:

```xml
<PackageReference Include="MonoGame.Framework.{Platform}" Version="3.8.1" />
<PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.1" />
<PackageReference Include="MonoGame.Framework.{Platform}" Version="3.8.1.*" />
<PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.1.*" />
```

### Accessing MGCB and MCGB Editor without a global tool

MGCB Editor is no longer a .NET global tool, and doesn't need to be installed or registered.

However, if you are migrating from 3.8.0, you will need to setup a configuration file. Next to your ```.csproj```, create a folder nammed ```.config``` and a file within it nammed ```dotnet-tools.json``` with this content:

```json
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-mgcb": {
"version": "3.8.1.263",
"commands": [
"mgcb"
]
},
"dotnet-mgcb-editor": {
"version": "3.8.1.263",
"commands": [
"mgcb-editor"
]
},
"dotnet-mgcb-editor-linux": {
"version": "3.8.1.263",
"commands": [
"mgcb-editor-linux"
]
},
"dotnet-mgcb-editor-windows": {
"version": "3.8.1.263",
"commands": [
"mgcb-editor-windows"
]
},
"dotnet-mgcb-editor-mac": {
"version": "3.8.1.263",
"commands": [
"mgcb-editor-mac"
]
}
}
}
```

Please note that you can't use the ```3.8.1.*``` wildcard in the ```dotnet-tools.json``` file (tool versions have to be fully qualified). We strongly recommand that the versions match the MonoGame version referenced in your ```.csproj``` (if you're using the ```*``` wildcard, make sure that they don't end up mismatching if the nugets are updated without you noticing).

You will also need to add this to your ```.csproj```:

```xml
<Target Name="RestoreDotnetTools" BeforeTargets="Restore">
<Message Text="Restoring dotnet tools" Importance="High" />
<Exec Command="dotnet tool restore" />
</Target>
```

With these changes, .NET will automatically install the MGCB Editor for you when launching Visual Studio 2022 (if you want to install it manually and skip adding the Target, run ```dotnet tool restore``` within the project directory).

Then, if you installed the Visual Studio extension, you should also be able to just double-click an ```.mgcb``` file to open the MGCB Editor. You can also open the MGCB Editor with the CLI via ```dotnet mgcb-editor``` when executed from within the project directory.

This new configuration has the advantage of allowing to have per-project versions of MGCB and its Editor (instead of per-machine like a global tool).

## iOS/iPadOS, and Android

.NET 6 introduced breaking changes in how csproj are defined for iOS/iPadOS and Android. We recommand that you create new projects using the 3.8.1 templates and that you copy over your project files there.
4 changes: 2 additions & 2 deletions Documentation/articles/platforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ Building for Android requires the .NET Xamarin component to be installed. You ca

The latest version of Xcode will also be required.

You can an iOS game on Windows by [pairing your Visual Studio 2022 with a mac on your local network](https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/windows/connecting-to-mac/). This feature is not avaible for Rider, Visual Studio Code, or the CLI.
You can test and deploy an iOS game on Windows by [pairing your Visual Studio 2022 with a mac on your local network](https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/windows/connecting-to-mac/). This feature is not avaible for Rider, Visual Studio Code, or the CLI.

## Other templates

Expand All @@ -122,7 +122,7 @@ A project template to create [.NET Standard](https://docs.microsoft.com/en-us/do

**Template ID**: mgshared

A project template to create a [shared project](https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/shared-projects) which can be used to share code between multiple other projects. The difference with .NET Standard libraries is that shared project don't produce an intermediate DLL and the code is directly shared and built into the other projects it reference.
A project template to create a [shared project](https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/shared-projects) which can be used to share code between multiple other projects. The difference with .NET Standard libraries is that shared projects don't produce an intermediate DLL and the code is directly shared and built into the other projects it reference.

### Content Pipeline Extension

Expand Down
5 changes: 0 additions & 5 deletions MonoGame.Framework/MonoGame.Framework.Android.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@
<AppendTargetFrameworkToOutputPath>False</AppendTargetFrameworkToOutputPath>
</PropertyGroup>

<ItemGroup>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Numerics" />
</ItemGroup>

<ItemGroup>
<Compile Remove="bin\**\*" />
<Compile Remove="obj\**\*" />
Expand Down
11 changes: 0 additions & 11 deletions MonoGame.Framework/MonoGame.Framework.Android.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,5 @@
<MonoGamePlatform>Android</MonoGamePlatform>
</PropertyGroup>

<ItemGroup>
<Using Include="Microsoft.Xna.Framework.Audio" />
<Using Include="Microsoft.Xna.Framework" />
<Using Include="Microsoft.Xna.Framework.Content" />
<Using Include="Microsoft.Xna.Framework.Graphics" />
<Using Include="Microsoft.Xna.Framework.Media" />
<Using Include="Microsoft.Xna.Framework.Input" />
<Using Include="Microsoft.Xna.Framework.Input.Touch" />
<Using Include="MonoGame.Framework.Utilities" />
</ItemGroup>

</Project>

4 changes: 0 additions & 4 deletions MonoGame.Framework/MonoGame.Framework.DesktopGL.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

<ItemGroup>
<PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
</ItemGroup>

<ItemGroup>
<Compile Remove="bin\**\*" />
Expand Down
11 changes: 0 additions & 11 deletions MonoGame.Framework/MonoGame.Framework.DesktopGL.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,4 @@
<MonoGamePlatform>DesktopGL</MonoGamePlatform>
</PropertyGroup>

<ItemGroup>
<Using Include="Microsoft.Xna.Framework.Audio" />
<Using Include="Microsoft.Xna.Framework" />
<Using Include="Microsoft.Xna.Framework.Content" />
<Using Include="Microsoft.Xna.Framework.Graphics" />
<Using Include="Microsoft.Xna.Framework.Media" />
<Using Include="Microsoft.Xna.Framework.Input" />
<Using Include="Microsoft.Xna.Framework.Input.Touch" />
<Using Include="MonoGame.Framework.Utilities" />
</ItemGroup>

</Project>
11 changes: 0 additions & 11 deletions MonoGame.Framework/MonoGame.Framework.WindowsDX.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,5 @@
<MonoGamePlatform>Windows</MonoGamePlatform>
</PropertyGroup>

<ItemGroup>
<Using Include="Microsoft.Xna.Framework.Audio" />
<Using Include="Microsoft.Xna.Framework" />
<Using Include="Microsoft.Xna.Framework.Content" />
<Using Include="Microsoft.Xna.Framework.Graphics" />
<Using Include="Microsoft.Xna.Framework.Media" />
<Using Include="Microsoft.Xna.Framework.Input" />
<Using Include="Microsoft.Xna.Framework.Input.Touch" />
<Using Include="MonoGame.Framework.Utilities" />
</ItemGroup>

</Project>

11 changes: 0 additions & 11 deletions MonoGame.Framework/MonoGame.Framework.WindowsUniversal.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,4 @@
<MonoGamePlatform>WindowsStoreApp</MonoGamePlatform>
</PropertyGroup>

<ItemGroup>
<Using Include="Microsoft.Xna.Framework.Audio" />
<Using Include="Microsoft.Xna.Framework" />
<Using Include="Microsoft.Xna.Framework.Content" />
<Using Include="Microsoft.Xna.Framework.Graphics" />
<Using Include="Microsoft.Xna.Framework.Media" />
<Using Include="Microsoft.Xna.Framework.Input" />
<Using Include="Microsoft.Xna.Framework.Input.Touch" />
<Using Include="MonoGame.Framework.Utilities" />
</ItemGroup>

</Project>
5 changes: 0 additions & 5 deletions MonoGame.Framework/MonoGame.Framework.iOS.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@
<SupportedOSPlatformVersion>11.2</SupportedOSPlatformVersion>
</PropertyGroup>

<ItemGroup>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Numerics" />
</ItemGroup>

<ItemGroup>
<Compile Remove="bin\**\*" />
<Compile Remove="obj\**\*" />
Expand Down
11 changes: 0 additions & 11 deletions MonoGame.Framework/MonoGame.Framework.iOS.targets
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,5 @@
<MonoGamePlatform>iOS</MonoGamePlatform>
</PropertyGroup>

<ItemGroup>
<Using Include="Microsoft.Xna.Framework.Audio" />
<Using Include="Microsoft.Xna.Framework" />
<Using Include="Microsoft.Xna.Framework.Content" />
<Using Include="Microsoft.Xna.Framework.Graphics" />
<Using Include="Microsoft.Xna.Framework.Media" />
<Using Include="Microsoft.Xna.Framework.Input" />
<Using Include="Microsoft.Xna.Framework.Input.Touch" />
<Using Include="MonoGame.Framework.Utilities" />
</ItemGroup>

</Project>

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# MonoGame

MonoGame is a simple and powerful .NET framework for creating games for desktop PCs, video game consoles, and mobile devices using the C# programming language. It has been succesfully used to create games such as [Streets of Rage 4](https://store.steampowered.com/app/985890/Streets_of_Rage_4/), [Carrion](https://store.steampowered.com/app/953490/CARRION/), [Celeste](https://store.steampowered.com/app/504230/Celeste/), [Stardew Valley](https://store.steampowered.com/app/413150/Stardew_Valley/), and [many other](https://www.monogame.net/showcase/).
MonoGame is a simple and powerful .NET framework for creating games for desktop PCs, video game consoles, and mobile devices using the C# programming language. It has been succesfully used to create games such as [Streets of Rage 4](https://store.steampowered.com/app/985890/Streets_of_Rage_4/), [Carrion](https://store.steampowered.com/app/953490/CARRION/), [Celeste](https://store.steampowered.com/app/504230/Celeste/), [Stardew Valley](https://store.steampowered.com/app/413150/Stardew_Valley/), and [many others](https://www.monogame.net/showcase/).

It is an open-source re-implementation of the discontinued [Microsoft's XNA Framework](https://msdn.microsoft.com/en-us/library/bb200104.aspx).

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace MGNamespace;

public class Game1 : Game
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<ApplicationId>com.companyname.MGNamespace</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ImplicitUsings>true</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.1.1-develop" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace MGNamespace;

public class Game1 : Game
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<RollForward>Major</RollForward>
<PublishReadyToRun>false</PublishReadyToRun>
<TieredCompilation>false</TieredCompilation>
<ImplicitUsings>true</ImplicitUsings>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace MGNamespace;

public class Game1 : Game
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<RollForward>Major</RollForward>
<PublishReadyToRun>false</PublishReadyToRun>
<TieredCompilation>false</TieredCompilation>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>true</ImplicitUsings>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace MGNamespace;

public class Game1 : Game
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
<TargetFramework>net6.0-ios</TargetFramework>
<OutputType>Exe</OutputType>
<SupportedOSPlatformVersion>11.2</SupportedOSPlatformVersion>
<ImplicitUsings>true</ImplicitUsings>
<CodesignKey>iPhone Developer</CodesignKey>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace MGNamespace;

public class Game1 : Game
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>true</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MonoGame.Framework.DesktopGL" Version="3.8.1.1-develop">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>true</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MonoGame.Framework.Content.Pipeline" Version="3.8.1.1-develop">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,15 @@ public int CreateEditorInstance(uint grfCreateDoc, string pszMkDocument, string
process.StartInfo.RedirectStandardOutput = true;

process.Start();


// this while loop freezes Visual Studio
/*
while (!process.StandardOutput.EndOfStream)
{
string str = process.StandardOutput.ReadLine();
System.Diagnostics.Debug.WriteLine(str);
}

*/
return VSConstants.S_OK;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Version="3.8.1.1" Id="MonoGame.Templates.VSExtension.03a6f6d5-6ec0-45ff-a4f6-ec098d51464d" Language="en-US" Publisher="MonoGame team" />
<Identity Version="3.8.1.1" Id="MonoGame.Templates.VSExtension.03a6f6d5-6ec0-45ff-a4f6-ec098d51464d" Language="en-US" Publisher="MonoGame" />
<DisplayName>MonoGame Framework C# project templates</DisplayName>
<Description xml:space="preserve">This extension contains the C# project templates for using the MonoGame Framwork</Description>
<Description xml:space="preserve">This extension contains the C# project templates for using the MonoGame Framework</Description>
<Tags>.NET,C#,Game development,Templates,Games,Gamedev,Project,Mono,MonoGame</Tags>
</Metadata>
<Installation>
Expand Down

0 comments on commit cd81db5

Please sign in to comment.