Vexxvididu Posted Thursday at 01:58 PM Report Posted Thursday at 01:58 PM If there is a general guide on how to upgrade mods with new major Vintage Story updates, i didn't see it, so I figured I'd start this thread to help anyone who needed it and is also kind of new to this process. I'll start by summarizing the changes I had to make to my mod: https://mods.vintagestory.at/steadygreenhouses 1) Updated my Vintage Story to 1.22. 2) Updated my Visual Studio 2022 to 2026 so I could use the new dot net 10 framework. I'm not 100% sure this was needed but it resolved an error message when trying to compile later on. 3) Re ran the power shell command here to setup the dev environment with the new Vintage Story code: https://wiki.vintagestory.at/Modding:Setting_up_your_Development_Environment 4) Made a new project for Vintage Story. Copied over my mod code scripts and mod system scripts to the new project. 5) Checked the actual Vintage Story code in the object explorer to look for what changed and updated my code accordingly. Note that a few key things did change for my code. 1.22 changed a lot! So that is it in a nutshell. I mostly wanted to make this thread for open discussion for anyone still struggling to update their mods. I'm also curious if anyone can confirm if step 2 was really needed, but I wasn't able to compile it in 2022.
Solution Spoonail Posted Saturday at 03:38 AM Solution Report Posted Saturday at 03:38 AM (edited) On 4/23/2026 at 10:58 PM, Vexxvididu said: 4) Made a new project for Vintage Story. Copied over my mod code scripts and mod system scripts to the new project. You don't have to create a new project. Updating the .net version in the existing .csproj file works. I mean, just open the .csproj file and replace: <TargetFramework>net8.0</TargetFramework> with: <TargetFramework>net10.0</TargetFramework> If you don't like editing the csproj directly, you can also open the project properties and set the target framework: Either way, make sure all the existing projects are updated. The official template includes two projects (the main and CakeBuild), so you need to update both. Also, the template has updated the CakeBuild package versions, so it should be worth following it in your existing projects as well. Here's a quote from Discord post by Th3Dilli (one of the dev members) describing how to do that: Quote mod templates have been update to dotnet 10 so those will requiere vs 1.22 now if you still want to use 1.21 you can also just change net10.0 to net8.0 upgrading existing ones should be as easy as changing from net8.0 to net10.0 `<TargetFramework>net10.0</TargetFramework>` and update your CakeBuild.csprj too but it may work with older version of those packages aswell ``` <PackageReference Include="Cake.Frosting" Version="6.1.0" /> <PackageReference Include="Cake.Json" Version="7.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.4" /> ``` if there is any issues with those best to ping me directly pls Original: https://discord.com/channels/302152934249070593/351624415039193098/1479916087050240142 On 4/23/2026 at 10:58 PM, Vexxvididu said: I'm also curious if anyone can confirm if step 2 was really needed, but I wasn't able to compile it in 2022. VS 2022 didn't fail to compile for me, but caused an issue on debugging and trying to decompile the game dll. VS 2026 works without the issue, so I'd recommend updating anyway. Edited Saturday at 03:42 AM by Spoonail 2
Spoonail Posted Saturday at 03:48 AM Report Posted Saturday at 03:48 AM Also, if your mod doesn't seem to be compiled for VS1.22 properly, try removing `obj` folder in the project. It seems Visual Studio often continues to use VS 1.21 reference caches, instead of following updated VINTAGE_STORY value and referencing 1.22 correctly. Removing obj seems to clear the cache and update the reference reliably. (I often run into this issue since frequently switch VINTAGE_STORY between 1.21 and 1.22) 1
Diff Posted Saturday at 08:47 PM Report Posted Saturday at 08:47 PM (edited) For me it seemed like one type migrated so I had to re-import that from its new home, but other than that (and adding support for the new content) my favorite child updated just fine by changing the target framework. Edited Saturday at 08:47 PM by Diff 1
Recommended Posts