Title: Refactor Build-System to use recent MSBuild / NuGet · Issue #53 · dotdevelop/dotdevelop · GitHub
Open Graph Title: Refactor Build-System to use recent MSBuild / NuGet · Issue #53 · dotdevelop/dotdevelop
X Title: Refactor Build-System to use recent MSBuild / NuGet · Issue #53 · dotdevelop/dotdevelop
Description: Problem MonoDevelop's Build System is not future save. it contains a lot of workarounds of old .net-versions, and code from that time when MSBuild was closed source at least it's broken already if .net5 is installed. current implementati...
Open Graph Description: Problem MonoDevelop's Build System is not future save. it contains a lot of workarounds of old .net-versions, and code from that time when MSBuild was closed source at least it's broken already if ...
X Description: Problem MonoDevelop's Build System is not future save. it contains a lot of workarounds of old .net-versions, and code from that time when MSBuild was closed source at least it's broken alr...
Opengraph URL: https://github.com/dotdevelop/dotdevelop/issues/53
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Refactor Build-System to use recent MSBuild / NuGet","articleBody":"## Problem\r\n\r\nMonoDevelop's Build System is not future save.\r\nit contains a lot of workarounds of old .net-versions, and code from that time when MSBuild was closed source\r\nat least it's broken already if .net5 is installed.\r\n\r\ncurrent implementation uses some hacky tricks to work around, see:\r\n https://github.com/dotdevelop/dotdevelop/blob/9b1b7384f3236de1255337602990fe534b1a3a16/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteBuildEngineManager.cs#L463\r\n\r\naffected projects:\r\nhttps://github.com/dotdevelop/dotdevelop/tree/master/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild\r\nhttps://github.com/dotdevelop/dotdevelop/tree/master/main/src/core/MonoDevelop.Projects.Formats.MSBuild\r\n\r\nand for NuGet:\r\nhttps://github.com/dotdevelop/dotdevelop/tree/master/main/src/addins/MonoDevelop.PackageManagement\r\n\r\n## possible solution\r\n\r\nthere is a lot of similar code around, actively supported\r\nbut most of it not public accesible (internal, private etc.)\r\n\r\nclone this repos, branch it \u0026 make usable code accessible (eg. internal visible to, wrapper project) or adopt it\r\n\r\n### MSBuild:\r\nhttps://github.com/dotdevelop/msbuild (partly cloned in https://github.com/dotdevelop/dotdevelop/tree/master/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild)\r\n\r\nMono-MsBuild\r\nhttps://github.com/mono/msbuild/commits/mono-2019-12\r\n\r\nand also similar problems are solved in OmniSharp:\r\nhttps://github.com/dotdevelop/omnisharp-roslyn/tree/master/src/OmniSharp.MSBuild\r\n\r\nsee also: https://github.com/OmniSharp/csharp-language-server-protocol\r\n\r\n### NuGet:\r\nhttps://github.com/NuGet/NuGet.Client\r\nhttps://github.com/NuGet/NuGet.Client/tree/dev/src/NuGet.Clients/NuGet.PackageManagement.UI (partly cloned in https://github.com/dotdevelop/dotdevelop/tree/master/main/src/addins/MonoDevelop.PackageManagement)\r\n\r\netc. see NuGet.VisualStudio ff\r\n\r\n## deliver own versions\r\nthere should be local, proved working fallback versions packaged with MonoDevelop to avoid problems with wild MS updates, as shown in the past.\r\n\r\n### minimum 2 msbuild fallback versions:\r\n\r\none for dotnetcore (building 2.1,3.1,5 ff)\r\n\r\none for .net framework, a mono framework version at least is in https://github.com/dotnet/msbuild/blob/vs16.9 if FullFrameworkTFM or MonoBuild is set.\r\n\r\n### Package a recent nuget.exe used by monodevelop.\r\nthere is no reason why there should be a lot of workarounds for old versions to avoid some mb of extra data.\r\n\r\n\r\n ","author":{"url":"https://github.com/lytico","@type":"Person","name":"lytico"},"datePublished":"2021-01-22T21:31:49.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/53/dotdevelop/issues/53"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:511b2953-ea22-25bf-1592-55a4512b5191 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | EA5C:1DD6:8337441:A798E6A:697F22B2 |
| html-safe-nonce | e904a9deca05f4af185a7a22b55d30e29888a35ce4626ff66f799ab84a8b1dd0 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQTVDOjFERDY6ODMzNzQ0MTpBNzk4RTZBOjY5N0YyMkIyIiwidmlzaXRvcl9pZCI6IjExMjgwMDQ4MTYyNDk3NTgzODYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 017f969a61250f3e5d3f2028e8e6852328d0cb9e86504377580f1a9d2ac61d8f |
| hovercard-subject-tag | issue:792319704 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/dotdevelop/dotdevelop/53/issue_layout |
| twitter:image | https://opengraph.githubassets.com/0a83f18d0c597ce6a5da3e17561c45c933db6aca5f7b9db637a98540bd1ccf18/dotdevelop/dotdevelop/issues/53 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/0a83f18d0c597ce6a5da3e17561c45c933db6aca5f7b9db637a98540bd1ccf18/dotdevelop/dotdevelop/issues/53 |
| og:image:alt | Problem MonoDevelop's Build System is not future save. it contains a lot of workarounds of old .net-versions, and code from that time when MSBuild was closed source at least it's broken already if ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | lytico |
| hostname | github.com |
| expected-hostname | github.com |
| None | 60279d4097367e16897439d16d6bbe4180663db828c666eeed2656988ffe59f6 |
| turbo-cache-control | no-preview |
| go-import | github.com/dotdevelop/dotdevelop git https://github.com/dotdevelop/dotdevelop.git |
| octolytics-dimension-user_id | 64219437 |
| octolytics-dimension-user_login | dotdevelop |
| octolytics-dimension-repository_id | 258290868 |
| octolytics-dimension-repository_nwo | dotdevelop/dotdevelop |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 791299 |
| octolytics-dimension-repository_parent_nwo | mono/monodevelop |
| octolytics-dimension-repository_network_root_id | 791299 |
| octolytics-dimension-repository_network_root_nwo | mono/monodevelop |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7c85641c598ad130c74f7bcc27f58575cac69551 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width