Visual Studio ищет не ту версию моей сборки - PullRequest
2 голосов
/ 13 июля 2011

Я пишу собственный генератор прокси WCF.Это работало отлично, пока я не добавил больше кода, не изменил версию и отказался от нее.Когда я выполнил надстройку, я получил файл COM not found.Когда я запустил Fuslogvw, он сообщил, что не может найти сборку старой версии с другой версией и открытым ключом.Есть ли что-то, что я делаю неправильно, мне удалось найти правильную версию в GAC.

Соответствующее сообщение об ошибке:

=== Pre-bind state information ===
LOG: User = xxxxx\xxxxxx
LOG: DisplayName = MyProxyAddin, Version=1.10.0.0, Culture=neutral, PublicKeyToken=385b6950f1bca43c
 (Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = devenv.exe
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.Config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: MyProxyAddin, Version=1.10.0.0, Culture=neutral, PublicKeyToken=385b6950f1bca43c
LOG: GAC Lookup was unsuccessful.

Для вашей информации, я установил сборку в GAC с помощью утилит GAC и зарегистрировал сборку, используя следующее:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\CLSID\{69cf4e9e-c755-408a-b407-117cc3acabec}]
@="MyProxyAddin.MyProxyGenerator"
"InprocServer32"="C:\\Windows\\SysWOW64\\mscoree.dll"
"Class"="MyProxyAddin.MyProxyGenerator"
"Assembly"="MyProxyAddin, Version=1.12.0.0, Culture=neutral, PublicKeyToken=3f2f3c47238a72fe"
"ThreadingModel"="Both" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Generators\{164B10B9-B200-11D0-8C61-00A0C91E29D5}\My Proxy Generator]
@="My WCF Proxy Generator"
"CLSID"="{69cf4e9e-c755-408a-b407-117cc3acabec}"
"GeneratesDesignTimeSource"=dword:00000001 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Generators\{E6FDF8B0-F3D1-11D4-8576-0002A516ECE8}\My WCF Proxy Generator]
@="My WCF Proxy Generator"
"CLSID"="{69cf4e9e-c755-408a-b407-117cc3acabec}"
"GeneratesDesignTimeSource"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Generators\{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}\My WCF Proxy Generator]
@="My WCF Proxy Generator"
"CLSID"="{69cf4e9e-c755-408a-b407-117cc3acabec}"
"GeneratesDesignTimeSource"=dword:00000001

1 Ответ

0 голосов
/ 31 августа 2011

Если я правильно понимаю проблему, существует новая версия ссылочной сборки, но ссылочная сборка все еще ищет старую версию. Попробуйте удалить ссылочную сборку в VS и добавить ссылку на новую. Затем перестройте ссылочную сборку.

...