我有一個設置,在每次構建後,程序集發佈到GAC。但我的應用程序一直使用舊的dll。生成後,新的dll被創建在一個新的文件夾中。文件夾名稱是7.1.7573.0_ d516cb311和7.1.5000.8888 _d516cb311。第二個文件夾是最新的。它似乎(從文件夾名稱)我目前的代碼是發佈舊的DLL。這是我的應用程序使用舊DLL的原因嗎?如果是,我需要做什麼才能發佈正確的程序集?GAC中的舊dll仍在使用中
編輯:
在web.config文件中,程序集註冊在運行時元素下。其版本是Version 7.0.0.0。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="dllpartialname" fullName="dllfullname,version=7.0.0.0,publicKeyToken=d516cb311,culture=neutral"/>
</runtime>
</assemblyBinding>
編輯2: 現在我知道問題是什麼。我的web項目引用了一個版本爲7.1.7573.0的程序集。但是assemblyinfo.cs文件(我的classlibrary)中的assemblyversion是7.1.5000.8888。在構建類庫項目時,它正在向GAC發佈一個版本爲7.1.5000.8888的程序集(即assemblyinfo.cs文件中的assemblyversion)。但是因爲我的web項目對7.1.7573.0有一個引用。它仍然使用文件夾7.1.7573.0_d516cb311中的dll,並忽略其他文件夾。
編輯3: 現在面對一個不同的問題。我更新了assemblyinfo.cs文件中的彙編版本。但是當我嘗試構建它時,它會自動恢復更改。它說這個文件在源代碼編輯器之外被修改過。這是爲什麼發生?有沒有人有關於它的想法?
感謝, 西德妮
你可以把你的配置如何引用文件?就像' ' –
它正在按照它的方式工作,爲您提供所需的程序集。對版本號的一些溫柔的愛護將是明智的,具有編號爲7573的老版本*比編號爲5000的版本並不漂亮。 –