Stride Assets not loading from Project

hi everyone, i am having issues with importing assets from a stride project created using the stride editor in gamma.

I can load the project and see when i make changes in the editor through the changes output pin but there are no content urls or assets loaded. I have looked through the stride documentation and the help patches but I cant see what I am doing wrong…

does anyone know what could cause this issue and how to fix it?


have used these features (LoadProject, AssetPrefab, AssetScene) a bit lately but dont think i have seen LoadProject fail. have seen AssetPrefab fail often though (sometimes it would find the prefab again after F9). you might want to upload that stride project and patch for the devs to check. there might be something fishy/unstable with these nodes alltogether.

most importantly: make sure you’re using the exact version of Stride that vvvv is using, which you can see in the about dialog:

3 Likes

thanks for the pointers!
I created a new project with the correct stride version (4.2.0.2121), rebuilt my animated prefab in this project and got the animation running when I compile the scene using Stride Editor…

I still dont get any content loaded into gamma though, here is the project and the VL file I am testing with:
download link (project is too big to be uploaded here)
Animations_Test.vl (4.6 KB)

can confirm that changes are tracked in the changes pin but no content listed. but also cant build in the editor. complains about missing gbl file.
[EXEC(0,0)]: Error: [AnimationAssetCompiler] Unable to find the source file 'C:/Users/user/Downloads/Stride_Project/assets_local/dog_test.glb' for Asset [[AnimationAsset] dog/dog_test_2]
Deleting the prefab from the project structure resolves this, but still no content in gamma.
Stride versions match btw.

seems that one of the necessary assets was not bundled within the project correctly but that should not affect the import in gamma i think… I will upload the project with the missing asset tomorrow when I have access to my pc again.

when trying to load the project, there seems to be some mismatch of the version the Microsoft.Build.dll.

This is the exception I get. And the DLL loaded is this one:

So I wonder why vvvv ships these dlls and whether they are the correct version.

I didn’t dig deeper than that, but this is likely the issue.

more debug info:

Call Stack

Microsoft.Build.Exceptions.InvalidProjectFileException
HResult=0x80131500
Message=Invalid static method invocation syntax: “[MSBuild]::SubstringByAsciiChars($(MSBuildProjectFile), 0, 8)”. Method ‘[MSBuild]::SubstringByAsciiChars’ not found. Static method invocation should be of the form: $([FullTypeName]::Method()), e.g. $([System.IO.Path]::Combine(a, b)). Check that all parameters are defined, are of the correct type, and are specified in the right order. C:\Program Files\dotnet\sdk\8.0.403\Microsoft.Common.CurrentVersion.targets
Source=Microsoft.Build
StackTrace:
at Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(String errorSubCategoryResourceName, IElementLocation elementLocation, String resourceName, Object args)

Microsoft.Build.dll!Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject(string errorSubCategoryResourceName, Microsoft.Build.Shared.IElementLocation elementLocation, string resourceName, object args) Unknown
Microsoft.Build.dll!Microsoft.Build.Shared.ProjectErrorUtilities.ThrowInvalidProject<System.__Canon, System.__Canon>(Microsoft.Build.Shared.IElementLocation elementLocation, string resourceName, System.__Canon arg0, System.__Canon arg1) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Expander<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem>.Function<Microsoft.Build.Evaluation.ProjectProperty>.Execute(object objectInstance, Microsoft.Build.Evaluation.IPropertyProvider<Microsoft.Build.Evaluation.ProjectProperty> properties, Microsoft.Build.Evaluation.ExpanderOptions options, Microsoft.Build.Shared.IElementLocation elementLocation) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Expander<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem>.PropertyExpander<Microsoft.Build.Evaluation.ProjectProperty>.ExpandPropertyBody(string propertyBody, object propertyValue, Microsoft.Build.Evaluation.IPropertyProvider<Microsoft.Build.Evaluation.ProjectProperty> properties, Microsoft.Build.Evaluation.ExpanderOptions options, Microsoft.Build.Shared.IElementLocation elementLocation, Microsoft.Build.Evaluation.UsedUninitializedProperties usedUninitializedProperties, Microsoft.Build.Shared.FileSystem.IFileSystem fileSystem) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Expander<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem>.PropertyExpander<Microsoft.Build.Evaluation.ProjectProperty>.ExpandPropertiesLeaveTypedAndEscaped(string expression, Microsoft.Build.Evaluation.IPropertyProvider<Microsoft.Build.Evaluation.ProjectProperty> properties, Microsoft.Build.Evaluation.ExpanderOptions options, Microsoft.Build.Shared.IElementLocation elementLocation, Microsoft.Build.Evaluation.UsedUninitializedProperties usedUninitializedProperties, Microsoft.Build.Shared.FileSystem.IFileSystem fileSystem) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Expander<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem>.PropertyExpander<Microsoft.Build.Evaluation.ProjectProperty>.ExpandPropertiesLeaveEscaped(string expression, Microsoft.Build.Evaluation.IPropertyProvider<Microsoft.Build.Evaluation.ProjectProperty> properties, Microsoft.Build.Evaluation.ExpanderOptions options, Microsoft.Build.Shared.IElementLocation elementLocation, Microsoft.Build.Evaluation.UsedUninitializedProperties usedUninitializedProperties, Microsoft.Build.Shared.FileSystem.IFileSystem fileSystem) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Expander<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem>.ExpandIntoStringLeaveEscaped(string expression, Microsoft.Build.Evaluation.ExpanderOptions options, Microsoft.Build.Shared.IElementLocation elementLocation) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.EvaluatePropertyElement(Microsoft.Build.Construction.ProjectPropertyElement propertyElement) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.EvaluatePropertyGroupElement(Microsoft.Build.Construction.ProjectPropertyGroupElement propertyGroupElement) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement currentProjectOrImport) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.EvaluateImportElement(string directoryOfImportingFile, Microsoft.Build.Construction.ProjectImportElement importElement) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement currentProjectOrImport) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.EvaluateImportElement(string directoryOfImportingFile, Microsoft.Build.Construction.ProjectImportElement importElement) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement currentProjectOrImport) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.EvaluateImportElement(string directoryOfImportingFile, Microsoft.Build.Construction.ProjectImportElement importElement) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement currentProjectOrImport) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.EvaluateImportElement(string directoryOfImportingFile, Microsoft.Build.Construction.ProjectImportElement importElement) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement currentProjectOrImport) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.EvaluateImportElement(string directoryOfImportingFile, Microsoft.Build.Construction.ProjectImportElement importElement) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement currentProjectOrImport) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.Evaluate() Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Evaluator<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition>.Evaluate(Microsoft.Build.Evaluation.IEvaluatorData<Microsoft.Build.Evaluation.ProjectProperty, Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectMetadata, Microsoft.Build.Evaluation.ProjectItemDefinition> data, Microsoft.Build.Evaluation.Project project, Microsoft.Build.Construction.ProjectRootElement root, Microsoft.Build.Evaluation.ProjectLoadSettings loadSettings, int maxNodeCount, Microsoft.Build.Collections.PropertyDictionary<Microsoft.Build.Execution.ProjectPropertyInstance> environmentProperties, Microsoft.Build.BackEnd.Logging.ILoggingService loggingService, Microsoft.Build.Evaluation.IItemFactory<Microsoft.Build.Evaluation.ProjectItem, Microsoft.Build.Evaluation.ProjectItem> itemFactory, Microsoft.Build.Evaluation.IToolsetProvider toolsetProvider, Microsoft.Build.Evaluation.ProjectRootElementCacheBase projectRootElementCache, Microsoft.Build.Framework.BuildEventContext buildEventContext, Microsoft.Build.BackEnd.SdkResolution.ISdkResolverService sdkResolverService, int submissionId, Microsoft.Build.Evaluation.Context.EvaluationContext evaluationContext, bool interactive) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.ProjectImpl.Reevaluate(Microsoft.Build.BackEnd.Logging.ILoggingService loggingServiceForEvaluation, Microsoft.Build.Evaluation.ProjectLoadSettings loadSettings, Microsoft.Build.Evaluation.Context.EvaluationContext evaluationContext) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.ProjectImpl.ReevaluateIfNecessary(Microsoft.Build.BackEnd.Logging.ILoggingService loggingServiceForEvaluation, Microsoft.Build.Evaluation.ProjectLoadSettings loadSettings, Microsoft.Build.Evaluation.Context.EvaluationContext evaluationContext) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.ProjectImpl.ReevaluateIfNecessary(Microsoft.Build.BackEnd.Logging.ILoggingService loggingServiceForEvaluation, Microsoft.Build.Evaluation.Context.EvaluationContext evaluationContext) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.ProjectImpl.ReevaluateIfNecessary(Microsoft.Build.Evaluation.Context.EvaluationContext evaluationContext) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.ProjectImpl.Initialize(System.Collections.Generic.IDictionary<string, string> globalProperties, string toolsVersion, string subToolsetVersion, Microsoft.Build.Evaluation.ProjectLoadSettings loadSettings, Microsoft.Build.Evaluation.Context.EvaluationContext evaluationContext) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.Project(string projectFile, System.Collections.Generic.IDictionary<string, string> globalProperties, string toolsVersion, string subToolsetVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection, Microsoft.Build.Evaluation.ProjectLoadSettings loadSettings, Microsoft.Build.Evaluation.Context.EvaluationContext evaluationContext, Microsoft.Build.FileSystem.IDirectoryCacheFactory directoryCacheFactory) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.Project(string projectFile, System.Collections.Generic.IDictionary<string, string> globalProperties, string toolsVersion, string subToolsetVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection, Microsoft.Build.Evaluation.ProjectLoadSettings loadSettings) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.Project(string projectFile, System.Collections.Generic.IDictionary<string, string> globalProperties, string toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection, Microsoft.Build.Evaluation.ProjectLoadSettings loadSettings) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.Project.Project(string projectFile, System.Collections.Generic.IDictionary<string, string> globalProperties, string toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.ProjectCollection.LoadProject(string fileName, System.Collections.Generic.IDictionary<string, string> globalProperties, string toolsVersion) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.ProjectCollection.LoadProject(string fileName, string toolsVersion) Unknown
Microsoft.Build.dll!Microsoft.Build.Evaluation.ProjectCollection.LoadProject(string fileName) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.VSProjectHelper.LoadProject.__TryReloadWithFirstValue 11_0(string valuePropertyName, string valuesPropertyName, ref Stride.Core.Assets.VSProjectHelper.<>c__DisplayClass11_0 value)
Stride.Core.Assets.dll!Stride.Core.Assets.VSProjectHelper.LoadProject(string fullProjectLocation, string configuration, string platform, System.Collections.Generic.Dictionary<string, string> extraProperties) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.VSProjectHelper.GetOrCompileProjectAssembly(string solutionFullPath, string fullProjectLocation, Stride.Core.Diagnostics.ILogger logger, string targets, bool autoCompileProject, string configuration, string platform, System.Collections.Generic.Dictionary<string, string> extraProperties, bool onlyErrors, Microsoft.Build.Execution.BuildRequestDataFlags flags) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.Package.LoadAssemblyReferenceInternal(Stride.Core.Diagnostics.ILogger log, Stride.Core.Assets.PackageLoadParameters loadParameters, Stride.Core.Reflection.AssemblyContainer assemblyContainer, Stride.Core.Assets.ProjectReference projectReference, string assemblyPath) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.Package.LoadAssemblyReferencesForPackage(Stride.Core.Diagnostics.ILogger log, Stride.Core.Assets.PackageLoadParameters loadParameters) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.Package.LoadAssemblies(Stride.Core.Diagnostics.ILogger log, Stride.Core.Assets.PackageLoadParameters loadParametersArg) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.PackageSession.TryLoadAssemblies(Stride.Core.Assets.PackageSession session, Stride.Core.Diagnostics.ILogger log, Stride.Core.Assets.Package package, Stride.Core.Assets.PackageLoadParameters loadParameters, out Stride.Core.Assets.AssetLoadingInfo info) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.PackageSession.LoadMissingAssets(Stride.Core.Diagnostics.ILogger log, System.Collections.Generic.IEnumerable<Stride.Core.Assets.Package> packages, Stride.Core.Assets.PackageLoadParameters loadParametersArg) Unknown
Stride.Core.Assets.dll!Stride.Core.Assets.PackageSession.AddExistingProject(Stride.Core.IO.UFile projectPath, Stride.Core.Diagnostics.ILogger logger, Stride.Core.Assets.PackageLoadParameters loadParametersArg) Unknown
VL.Stride.Windows.vl.dll!VL_Stride_Assets_Windows.Stride.Assets.ExistingProject_C.AddProject(bool Add_In, VL.Lib.IO.Path Project_Path_In, out Stride.Core.Assets.PackageAssetCollection Assets_Out) Unknown
VL.Stride.Windows.vl.dll!VL_Stride_Assets_Windows.Stride.Assets.LoadProject_M7djlgidxbFQD0mWqmavrG.Update.AnonymousMethod__1(object s_43, System.Threading.CancellationToken Input_1_In_45) Unknown
VL.CoreLib.dll!VL.Lib.Reactive.AsyncTask<VL.Lib.Collections.Spread<Stride.Core.Assets.AssetItem>>.Update.AnonymousMethod__0() Unknown

@tebjan Indeed, that was the right hint, thanks. Turns out we unintentionally delivered those Microsoft.Build.*.dlls for quite a while now (quick check shows them being present in 5.0 already), but only due to the recent dotnet update things started to fall apart :( In any case, you’ll find a fix in upcoming preview.

7 Likes

hey everyone, thank you all for helping me out with this issue!
I fixed the missing asset reference in the stride project and will provide a new download link as the old one has expired.

@Elias is there a way I can work around this in 6.6? the astroboy example in the help browser works so i figured maybe there is a way I can set up the stride project so it doesnt use the mismatched dlls?

you can try to delete all Microsoft.Build.*.dlls from the vvvv installation folder.

this is now fixed in stable vvvv gamma 6.7

2 Likes