Note that there are some explanatory texts on larger screens.

plurals
  1. POC++/CLI obfuscated assembly throws a MissingManifestResourceException
    primarykey
    data
    text
    <p>I'm using Dotfuscator Pro 4.10 to obfuscate an application built with VS 2012. The .NET code contains managed as well as unmanaged C++/CLI code, thus compiled with /clr.</p> <p>My solution contains a lot of projects. I only allow <em>renaming</em> as obfuscation. Also, as all assemblies/application are in the dotfuscator project, I don't run in library mode. Thus, all interfaces are scrambled.</p> <p>When I obfuscate the assemblies everything works fine but for an assembly (let's call it <em>A.dll</em>). If I disable obfuscation for <em>A.dll</em>, the application works perfectly. If I enable obfuscation for <em>A.dll</em>, I get this:</p> <blockquote> <p><strong>Error</strong>: System.Resources.MissingManifestResourceException</p> <p><strong>Message</strong>: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "<em>ahe.resources</em>" was correctly embedded or linked into assembly "<em>A.dll</em>" at compile time, or that the satellite assemblies required are loadable and fully signed. </p> </blockquote> <p><em>ahe</em> is the scrambled name of a Window Form in <em>A.dll</em> and the exception is thrown here (from <em>ApplyResources()</em>):</p> <pre><code>void InitializeComponent( void ) { this-&gt;components = (gcnew System::ComponentModel::Container()); System::ComponentModel::ComponentResourceManager^resources = (gcnew System::ComponentModel::ComponentResourceManager( A::typeid )); // ... resources-&gt;ApplyResources( this-&gt;mpMyControl, L"mpMyControl" ); // Exception thrown here. // ... } </code></pre> <p>The resources are correctly defined in <em>A.resx</em> (and it works before obfuscating).</p> <p>Notice that this kind of code is used at many places in other assemblies and, when I disallow obfuscation for the problematic assembly <em>A.dll</em>, it works perfectly.</p> <p>So, does somebody have an idea about how to solve the problem? Feel free to ask for more info/details, I don't know what could be important or not.</p> <p>Thanks!</p> <p><strong>Edit 1</strong>: None of the assemblies are signed.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload