Skip to content

Application doesn't work when resource directory contains relative resource #550

Open

Description

@ryanroe
  • ConfuserEx Version: 1.6.0+447341964f
  • Target Framework: .Net Framework 4.6
  • Operating System: Windows 11 Pro

Steps to Reproduce:

  1. create an empty WPF Application( .Net Framework )
  2. make it Console Application (to see the error info after obfuscated)
  3. create as the following image
    resource_test

contents of Color.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <SolidColorBrush x:Key="PrimaryBrush" Color="Red" />
</ResourceDictionary>

contents of Skin.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="./Color.xaml" />
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

contents of App.xaml

<Application
    x:Class="WpfRelativeResourceTest.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfRelativeResourceTest"
    StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="./Themes/Skin.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

contents of MainWindow.xaml

<Window
    x:Class="WpfRelativeResourceTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:WpfRelativeResourceTest"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="MainWindow"
    Width="800"
    Height="450"
    mc:Ignorable="d">
    <Grid Background="{DynamicResource PrimaryBrush}" />
</Window>
  1. obfuscate this with only rename feature on
	<rule pattern="true" inherit="false">
		<protection id="rename" />
	</rule>
	<rule pattern="namespace('WpfRelativeResourceTest') and name('App')" inherit="false">
		<protection id="rename" action="remove" />
	</rule>
  1. app throws exception (can't find themes/color.xaml)

Activity

  1. added
    potential-bugSomething does not seem to be working
    triageThis issue needs some initial analysis.
    on May 21, 2024
  2. added a commit that references this issue on May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    potential-bugSomething does not seem to be workingtriageThis issue needs some initial analysis.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions