-
-
Notifications
You must be signed in to change notification settings - Fork 958
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Assets] Prevent crash of the assets compiler when an assembly cannot be fully loaded. #2144
[Assets] Prevent crash of the assets compiler when an assembly cannot be fully loaded. #2144
Conversation
… be fully loaded. Fixes stride3d#2140
As an alternative we could also introduce an assembly attribute telling the asset compiler whether or not the assembly even contains such implementations. We would need to add that attribute to the existing code base (or even better let it get added by the assembly processor). Not sure about the proper name yet, but for example
Type loading could now be skipped entirely, maybe also speeding up the overall compile process. |
It's already based on the registry which only takes assembly from the assets category. We don't scan every single assembly and their dependencies, that would be overkill. But the Game project is such an assembly since it does contain assets. It's just not supposed to have platform-specific dependencies such as Windows Forms. Your case is uncommon as a cleaner architecture would have all Windows dependencies on the Windows-specific project. The Game project is supposed to be cross-platform. |
Ok thanks. Makes me wonder why many of our projects would even be put in the assets category then. We have a dependency on Stride.Core.Mathematics very deep down. I guess that's the reason why the assembly processor even comes into play. Maybe there're some tweaks to ensure it doesn't run for those projects (setting |
Any chance this PR can be merged? It's currently blocking things at our end regarding a project which needs #2141 |
… be fully loaded. (stride3d#2144) Fixes stride3d#2140 (cherry picked from commit 2a8b04c)
* Remove docs, has been moved to Stride docs repo * [OpenXR] Fixes build on graphics APIs other than D3D11 This build regression was introduced by previous commit d72aef5 * Update samples to Stride 4.2 (stride3d#2132) * [Samples] Update to 4.2 * [Samples] Remove Newtonsoft.Json dependency in CSharpIntermediate * [Tests] Fixes random test failures (stride3d#2133) * [Tests] Fixes random test failures Some of the tests in Stride.GameStudio.Tests must not run in parallel as they access a shared class which is not thread safe. * Sets wait time in TestFileVersionManager to 500ms (from 200) Should make it less likely that unit tests on teamcity fail. * Repair projectwatcher (stride3d#2106) * use positive 77 * repair projectwatcher * remove unused line * undo -77 change * undo -77 * order usings * fix formatting * remove unused solution * remove unused async * use previous cancelation method * remove extra task * add check to not throw assembly changes away * rework distribution of assemblychanges * remove unused using * add broadcast back in * remove assembly broadcast * add cancelation * replace cancelation location * improve if nesting * improve naming, fix reload on new references * fix loading chain of assets * refactor * [Editor] Refactor initialization of CodeViewModel --------- Co-authored-by: IXLLEGACYIXL <ixllegacy123@outlook.com> Co-authored-by: Nicolas Musset <musset.nicolas@gmail.com> * [OpenVR] Adds a minimal API to request and control Passthrough (supported by OpenXR) https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#XR_FB_passthrough * [OpenXR] Makes device construction internal and improves exception messages of new StartPassthrough method * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * [Assets] Prevent crash of the assets compiler when an assembly cannot be fully loaded. (stride3d#2144) Fixes stride3d#2140 * [Build] Remove stylecop (stride3d#2105) Co-authored-by: IXLLEGACYIXL <ixllegacy123@outlook.com> * [Presentation] Rework AssetViewModelAttribute * [Editor] Cleanup * [Assets] Mark Editor as obsolete on AssetViewModel * [Editor] Make Asset property public on all editors * [Editor] Make IAssetEditorsManager a service * [Editor] Keep track of asset/editor association in AssetEditorsManager * [Editor] Add a method to find an opened editor * [Editor] Change binding logic in editor views The default DataContext is now the editor instead of the asset * [Editor] Update sprite editor bindings * [Editor] Update UI editor bindings * [Editor] Update entity hierarchy editor bindings * [Editor] Update script editor bindings * [Editor] Update graphics compositor editor bindings * [Editor] Removed pointless constraint on column width Which is also spamming the console with binding errors. * [Editor] Remove editor-related properties from AssetViewModel * [Editor] Rework AssetEditorViewModelAttribute - add AssetEditorViewAttribute - rework view creation and initialization * [Editor] Make AssetEditorViewModel.Asset property virtual C# has covariant return types since version 9 * [Editor] Rework plugins initialization * [Editor] Rework AssetPreviewViewModelAttribute & AssetPreviewAttribute - add AssetPreviewViewAttribute to break the dependency between a preview and its UI-dependent view * [Editor] Fix initialization of SpriteSheetEditorViewModel returning false * [Editor] Make Stride.Core.Presentation.Quantum cross-platform * [Editor] Make Stride.Core.Assets.Quantum cross-platform * [Editor] Do not load StrideDefaultAssetsPlugin from module. It currently hardcodes loading the templates from a package which causes some tests to fail. Partially reverts c98c72e * feat: Release.yml added for PR categorisation (stride3d#2137) * feat: Release.yml added for PR categorisation * Categories updated * [Editor] Fix scene editor loading screen * [VR] feat: Add haptic support to OpenVR and Oculus runtimes (stride3d#2169) Co-authored-by: Eideren <contact@eideren.com> * [Audio] Audio emitter multiple references to same asset bugfix (stride3d#2176) Co-authored-by: Eideren <contact@eideren.com> * Use correct destination path in asset import overwrite dialog * Use GetFullPath to correct directory seperator for display * fix: File GraphicsResourceMap.cs without references removed (stride3d#2181) * feat: Update samples/template to top-level statements (stride3d#2187) * Update README.md (prerequisites) * Update README.md (VSIX prerequisites) * [VSPackage] Revert a few package upgrades so that VSIX builds properly * [Presentation] Fix issue with binding quantum nodes when associated name is not found (stride3d#2195) Note: the solution is rather hackish at the moment. To be revisited once we have an Avalonia version. Should we then introduce a service for setting/retrieving the Unset value * fix: [Asset] Unified 3D asset importer (on behalf of Noa7/Noah7071) (stride3d#2163) Co-authored-by: noa7 <noahwdv@gmail.com> Co-authored-by: noa7707 <157441788+noa7707@users.noreply.github.com> Co-authored-by: Noah7071 <157886157+Noah7071@users.noreply.github.com> --------- Co-authored-by: JornosDesktop <aggror.jorn@gmail.com> Co-authored-by: Elias Holzer <elias@vvvv.org> Co-authored-by: Nicolas Musset <nicolas@color-rise.xyz> Co-authored-by: IXLLEGACYIXL <107197024+IXLLEGACYIXL@users.noreply.github.com> Co-authored-by: IXLLEGACYIXL <ixllegacy123@outlook.com> Co-authored-by: Nicolas Musset <musset.nicolas@gmail.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Jorn Theunissen <aggror.jorn@stride3d.net> Co-authored-by: Marian Dziubiak <marian.dziubiak@gmail.com> Co-authored-by: Vaclav Elias <vaclavelias@gmail.com> Co-authored-by: Addison Schmidt <addison@assurancefamily.com> Co-authored-by: Eideren <contact@eideren.com> Co-authored-by: Tim Conner <tim@timconner.com> Co-authored-by: Jakub Ławreszuk <31008367+Jklawreszuk@users.noreply.github.com> Co-authored-by: xen2 <virgile@stride3d.net> Co-authored-by: noa7 <noahwdv@gmail.com> Co-authored-by: noa7707 <157441788+noa7707@users.noreply.github.com> Co-authored-by: Noah7071 <157886157+Noah7071@users.noreply.github.com>
PR Details
Description
Skip looking for asset compilers in an assembly if its types can't be loaded.
Related Issue
Fixes #2140.
Motivation and Context
Types of changes
Checklist