2016-04-14 16 views
1

Ich aktualisiere eine C# -Anwendung auf .NET 4.0. Die ältere Anwendung verwendet mehrere DLLs von Drittanbietern, die von der Version 2509.0.0.0 auf 3396.0.0.0 aktualisiert werden müssen.Aktualisiert app.config manuell eine gute Idee?

In der älteren Anmeldung, die app.config-Datei enthält mehrere der folgenden Art von Knoten:

<configSections> 
    <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" /> 
</configSections> 
. 
. 
. 
<cachingConfiguration defaultCacheManager="Users"> 
<cacheManagers> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="100000" numberToRemoveWhenScavenging="0" backingStoreName="Isolated Storage" name="SendQueues" /> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="10" backingStoreName="Null Storage" name="ServiceUrls" /> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="10" numberToRemoveWhenScavenging="1" backingStoreName="Null Storage" name="MonitorData" /> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="10" numberToRemoveWhenScavenging="1" backingStoreName="Null Storage" name="Shipments" /> 
    <add expirationPollFrequencyInSeconds="5" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="10" backingStoreName="Tag Collection Storage" name="TagCollections" /> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="10" backingStoreName="UserIsolatedStorage" name="Users" /> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="10" backingStoreName="WebProxyIsolatedStorage" name="WebProxy" /> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="0" backingStoreName="InterfaceMapIsolatedStorage" name="InterfaceMap"/> 
    <add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="10" backingStoreName="RememberMeIsolatedStorage" name="RememberMe" /> 
</cacheManagers> 
<backingStores> 
    <add partitionName="WebProxy" encryptionProviderName="WebProxyEncryption" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="WebProxyIsolatedStorage" /> 
    <add partitionName="SendQueues" encryptionProviderName="SendQueues Encryption" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="Isolated Storage" /> 
    <add partitionName="TagCollections" encryptionProviderName="Tags Cache Encryption" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="Tag Collection Storage" /> 
    <add partitionName="User" encryptionProviderName="Symmetric Storage Encryption" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="UserIsolatedStorage" /> 
    <add encryptionProviderName="" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="Null Storage" /> 
    <add partitionName="RememberMe" encryptionProviderName="Remember me Storage Encryption" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="RememberMeIsolatedStorage" /> 
    <add partitionName="InterfaceMap" encryptionProviderName="InterfaceMap Encryption" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="InterfaceMapIsolatedStorage"/> 
</backingStores> 
<encryptionProviders> 
    <add symmetricInstance="DPAPI Symmetric Cryptography Provider" type="Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.SymmetricStorageEncryptionProvider, Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="WebProxyEncryption" /> 
    <add symmetricInstance="DPAPI Symmetric Cryptography Provider" type="Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.SymmetricStorageEncryptionProvider, Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="SendQueues Encryption" /> 
    <add symmetricInstance="DPAPI Symmetric Cryptography Provider" type="Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.SymmetricStorageEncryptionProvider, Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="Tags Cache Encryption" /> 
    <add symmetricInstance="DPAPI Symmetric Cryptography Provider" type="Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.SymmetricStorageEncryptionProvider, Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="Symmetric Storage Encryption" /> 
    <add symmetricInstance="DPAPI Symmetric Cryptography Provider" type="Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.SymmetricStorageEncryptionProvider, Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="Remember me Storage Encryption" /> 
    <add symmetricInstance="DPAPI Symmetric Cryptography Provider" type="Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.SymmetricStorageEncryptionProvider, Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography, Version=2509.0.0.0, Culture=neutral, PublicKeyToken=ecdd5b3dfcfef3bb" name="InterfaceMap Encryption"/> 
</encryptionProviders> 

Beachten Sie, dass es Hinweise auf zahlreiche DLLs mit der Versionsnummer 2509.0.0.0 sind. Ich habe die Version 3396.0.0.0 von jeder dieser DLLs. Es ist verlockend, alle Versionsnummern von 2509.0.0.0 zu 3396.0.0.0 in der app.config-Datei zu ändern, aber ich glaube, das ist nicht der richtige Weg, dies zu tun.

Die ältere Version der Anwendung wurde von jemand anderem entwickelt. Wie haben sie eine solche app.config-Datei erstellt? Wie kann ich notwendige Knoten in der app.config-Datei für die Version 3396.0.0.0 aller dieser DLLs generieren?

+0

Für Ihren Fall scheint es nicht so gut Idee - es sei denn, Sie verstehen genau, was Sie tun - ein Charakterfehler kann zu einer Katastrophe führen ... – Ian

+0

@Ian: Ich stimme zu. Aber was kann ich tun? Was ist der beste Ansatz für diesen Fall? – Donotalo

+0

Haben sich auch die öffentlichen Token der neueren DLL-Versionen geändert? – Ian

Antwort

0

ich mit .NET nicht schon seit fast 2yrs arbeiten, aber wie ich erinnere mich noch, kann es zwei Möglichkeiten, Ihren Wunsch wahr zu machen kommen :)

  1. Sie können Ihre App erneut generieren. Konfigurationsdatei, indem Sie Ihre Projekteinstellungen aktualisieren, sollte die Pre-Build-Option überprüfen.
  2. manuell in app.config-Datei ersetzen, wird es nicht so schädlich :)

Viel Glück sein!

+0

Ich möchte mit der Option 1 gehen. Wie kann ich die Projekteinstellungsdatei auf meine Bedürfnisse anpassen? Bitte überprüfe meine Post, um herauszufinden, was genau ich brauche. – Donotalo

+0

Wenn Sie Visual Studio verwenden, können Sie diese Anweisungen befolgen, um auf die Projekteigenschaft zuzugreifen, und dann die gewünschten Änderungen vornehmen: https://msdn.microsoft.com/en-us/library/z15yzzew.aspx –

+0

Ich benutze VS, aber der Inhalt der app.config-Datei, die ich ändern möchte, stammt nicht aus der Projekteigenschaft. – Donotalo

Verwandte Themen