2011-09-06 103 views
4

我有以下問題。我創建了包含多個項目的軟件。當我在我的一個項目中修正了一個不會改變函數行爲方式的錯誤時(例如簡單的字符串更改或函數中的額外try/catch塊),我必須重新編譯並提供所有的dll,因爲當我只提供更改的dll,版本不匹配。我知道這個問題是由於我的dll是強命名的。但有沒有什麼辦法可以完成,我可以在更改版本號的同時替換已更改的DLL,而不更改和分發其他DLL?.net dll版本問題,當更換一個dll

+0

我可能是誤會,但你就不能設置DLL的屬性'特定版本'等於假? – anothershrubery

+0

另請參閱http://stackoverflow.com/questions/3285758/target-non-specific-version-of-an-assembly – LostInComputer

+0

注意該版本號。增加[AssemblyFileVersion],而不是[AssemblyVersion]。 –

回答

1

可以兼得的dll,可以在使用bindingRedirect以下鏈接

dll versioning in dotnet

<configuration> 
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="AssemblyName" 
           publicKeyToken="32ab4ba45e0a69a1" 
           culture="neutral" /> 
      <bindingRedirect oldVersion="1.0.0.0" 
          newVersion="2.0.0.0"/> 
     </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
</configuration>