View Issue Details

IDProjectCategoryView StatusLast Update
0001016NoesisGUIC# SDKpublic2022-04-06 12:31
ReporterZiriax Assigned Tosfernandez  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version1.3.0 
Target Version3.1.2Fixed in Version3.1.2 
Summary0001016: .NET assemblies are not loaded when parsing XAML
DescriptionI had a problem where <DataTemplate DataType={x:Type vm:StartScreen}"/> (see additional information) did not work, I got assertions in the TypeExtension, mType == 0

When debugging the source code, I noticed that the C++ code could not find a native type for "StartScreen".

The reason was that the .NET runtime did not yet load the Game.ViewModels assembly when Noesis was parsing the XAML, and so Noesis did not register the types yet.

IMHO when Noesis is parsing XAML clr-namespace, it should load the .NET assemblies, and (lazily) create native types?

Additional Information<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:vm="clr-namespace:Game.ViewModels;assembly=Game.ViewModels"
    mc:Ignorable="d">
    <UserControl.Resources>
        <DataTemplate DataType="{x:Type vm:StartScreen}" />
    </UserControl.Resources>
</UserControl>

TagsNo tags attached.
PlatformAny

Relationships

related to 0001283 resolvedsfernandez Unknown type exception referencing custom control from seperate dll 
related to 0001320 resolvedsfernandez Code-behind classes in unloaded assemblies 
related to 0002322 resolvedsfernandez Can't load xaml from external dll 

Activities

sfernandez

sfernandez

2017-02-21 13:20

manager   ~0004448

We don't currently load assemblies, it should be done by the user. Sorry for the inconvenience.

But maybe we can investigate what you suggested: looking for the xmlns assembly definition and try to load it ourselves.
Ziriax

Ziriax

2017-02-21 13:25

reporter   ~0004451

Ah that explains it :-)

Maybe even better and easier for you, just provide a callback for resolving these DLLs (these could be either native or managed)?
sfernandez

sfernandez

2017-02-21 13:53

manager   ~0004457

Yes, that sounds event better.
It could be valid for native libraries too, you are right.
sfernandez

sfernandez

2017-02-21 19:09

manager   ~0004464

By the way, we just generated a new beta for the C# SDK you can download here:
https://drive.google.com/open?id=0Bwl3Ci5GLsE8dms4RkhWcFBzems

Please create new tickets for the issues you find.

We appreciate your feedback.
jsantos

jsantos

2017-02-21 20:26

manager   ~0004466

There are a few important changes regarding textures in this new version:

1. WrapTexture methods are no longer part of the TextureSource. The Texture source is now built using a Texture (same as C++ API)
2. We expose separate WrapTexture methods to create a Texture using a ID3D11Texture2D (sorry for this breaking change)
3. Texture has a object field to optionally hold the object with the ownership of the native handle
4. There will be also a callback clients must set to load textures from URI. You are in charge of creating the textures now.

Issue History

Date Modified Username Field Change
2017-02-11 17:35 Ziriax New Issue
2017-02-21 13:20 sfernandez Assigned To => sfernandez
2017-02-21 13:20 sfernandez Status new => feedback
2017-02-21 13:20 sfernandez Note Added: 0004448
2017-02-21 13:25 Ziriax Note Added: 0004451
2017-02-21 13:25 Ziriax Status feedback => assigned
2017-02-21 13:53 sfernandez Note Added: 0004457
2017-02-21 19:09 sfernandez Status assigned => feedback
2017-02-21 19:09 sfernandez Note Added: 0004464
2017-02-21 20:26 jsantos Note Added: 0004466
2018-11-01 02:14 jsantos View Status public => private
2019-08-23 00:51 sfernandez Relationship added related to 0001320
2019-08-23 01:03 sfernandez Status feedback => assigned
2019-08-23 01:03 sfernandez Target Version => 2.2.5
2019-08-23 01:03 sfernandez Platform => Any
2019-08-23 01:03 sfernandez Relationship added related to 0001283
2019-09-26 12:24 sfernandez Target Version 2.2.5 => 2.3.0
2021-10-05 18:37 sfernandez Target Version => 3.1.2
2021-10-05 18:37 sfernandez View Status private => public
2021-10-05 18:37 sfernandez Description Updated
2021-10-05 18:37 sfernandez Additional Information Updated
2021-10-19 19:06 sfernandez Status assigned => resolved
2021-10-19 19:06 sfernandez Resolution open => fixed
2021-10-19 19:06 sfernandez Fixed in Version => 3.1.2
2022-04-06 12:31 sfernandez Relationship added related to 0002322