il-repack icon indicating copy to clipboard operation
il-repack copied to clipboard

ailed to merge configuration files: System.Data.DuplicateNameException: The name 'configuration' is invalid

Open lwiechec opened this issue 6 years ago • 2 comments

Hi, I just started using ILRepack. I try to create a single EXE for my application which is a quite thin layer on top of NUnit 2 GUI runner.

At the end of repacking, I can see this:

VERBOSE: Processing XAML resource paths ...
INFO: Writing output assembly to disk
ERROR: Failed to merge configuration files: System.Data.DuplicateNameException: The name 'configuration' is invalid. A DataTable cannot have the same name of the DataSet.
   at System.Data.DataTableCollection.BaseAdd(DataTable table)
   at System.Data.DataTableCollection.Add(DataTable table)
   at System.Data.Merger.MergeSchema(DataTable table)
   at System.Data.Merger.MergeTableData(DataTable src)
   at System.Data.Merger.MergeDataSet(DataSet source)
   at System.Data.DataSet.Merge(DataSet dataSet, Boolean preserveChanges, MissingSchemaAction missingSchemaAction)
   at System.Data.DataSet.Merge(DataSet dataSet)
   at ILRepacking.ConfigMerger.Process(ILRepack repack)

In the end I do get my exe, but running it throws an error; application also has different version and file descriptor - it lists now one of the dependencies.

I guess the - entry point is incorrect... can you help?

lwiechec avatar Dec 17 '18 15:12 lwiechec

This would highly depend on your app.config files. Check if you can purge some empty/not used nodes in the config files

dfev77 avatar Jun 05 '19 08:06 dfev77

We're seeing the same error message:

ERROR: Failed to merge configuration files: System.Data.DuplicateNameException: The name 'configuration' is invalid. A DataTable cannot have the same name of the DataSet.
  at System.Data.DataTableCollection.BaseAdd (System.Data.DataTable table) [0x00088] in <f3b036cdf45644d58864dfe09bb31bd4>:0 
  at System.Data.DataTableCollection.Add (System.Data.DataTable table) [0x0002f] in <f3b036cdf45644d58864dfe09bb31bd4>:0 
  at System.Data.Merger.MergeSchema (System.Data.DataTable table) [0x0008e] in <f3b036cdf45644d58864dfe09bb31bd4>:0 
  at System.Data.Merger.MergeTableData (System.Data.DataTable src) [0x00000] in <f3b036cdf45644d58864dfe09bb31bd4>:0 
  at System.Data.Merger.MergeDataSet (System.Data.DataSet source) [0x000e1] in <f3b036cdf45644d58864dfe09bb31bd4>:0 
  at System.Data.DataSet.Merge (System.Data.DataSet dataSet, System.Boolean preserveChanges, System.Data.MissingSchemaAction missingSchemaAction) [0x00040] in <f3b036cdf45644d58864dfe09bb31bd4>:0 
  at System.Data.DataSet.Merge (System.Data.DataSet dataSet) [0x00022] in <f3b036cdf45644d58864dfe09bb31bd4>:0 
  at ILRepacking.ConfigMerger.Process (ILRepacking.ILRepack repack) [0x000a6] in <853c03db7f88463ebe1682698b9aa644>:0 

Our app.config files:

  • https://github.com/KSP-CKAN/CKAN/blob/master/ConsoleUI/App.config
<?xml version="1.0"?>
<configuration>
    <configSections>
    </configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
    </startup>
  <runtime>
    <enforceFIPSPolicy enabled="false"/>
    <loadFromRemoteSources enabled="true"/>
  </runtime>
</configuration>
  • https://github.com/KSP-CKAN/CKAN/blob/master/GUI/App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>
  <runtime>
    <enforceFIPSPolicy enabled="false"/>
    <loadFromRemoteSources enabled="true"/>
  </runtime>
</configuration>
  • https://github.com/KSP-CKAN/CKAN/blob/master/Cmdline/app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>
</configuration>

What they look like at time of merge, after the projects are built:

  • CmdLine/Debug/bin/CKAN-ConsoleUI.exe.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections></configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <runtime>
    <enforceFIPSPolicy enabled="false" />
    <loadFromRemoteSources enabled="true" />
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
  • CmdLine/Debug/bin/CKAN-GUI.exe.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <runtime>
    <enforceFIPSPolicy enabled="false" />
    <loadFromRemoteSources enabled="true" />
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
  • CmdLine/Debug/bin/CmdLine.exe.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <runtime>
    <enforceFIPSPolicy enabled="false" />
    <loadFromRemoteSources enabled="true" />
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="mscorlib" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

I don't pretend to know much about app.config files; I'm just trying to investigate this error. Any suggestions?

HebaruSan avatar Nov 23 '19 00:11 HebaruSan

This is now fixed.

KirillOsenkov avatar Jan 07 '24 03:01 KirillOsenkov