У нас есть программное обеспечение, которое позволяет пользователю во время исполнения выбирать версию программного обеспечения Microsoft Great Plains, с которой они хотят интегрироваться, и, как результат, какую версию DLL Microsoft Econnect мы должны использовать для интеграции для них. Наш код выполняет много исследований во время выполнения, а также переключает и загружает соответствующие DLL-файлы по мере необходимости.Как очень оперативно и конкретно подавлять MSB3277 предупреждение только для одного конфликта, который мы хотим разрешить?
Однако, мы должны включать все библиотеки DLL в нашем решении, так что они будут доступны во время выполнения, и в том числе их в растворе приводит к MSB3277 предупреждений, а именно:
предупредительной MSB3277: Найдено конфликты между различные версии одной и той же зависимой сборки, которые невозможно было решить. Эти ссылочные конфликты перечислены в журнале построения, когда подробные сведения о журналах заданы.
При просмотре файла журнала, генерируемого в диагностическом режиме, соответствующие строки следующим образом:
29> There was a conflict between "Microsoft.Dynamics.GP.eConnect, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" and "Microsoft.Dynamics.GP.eConnect, Version=11.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35".
29> "Microsoft.Dynamics.GP.eConnect, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" was chosen because it was primary and "Microsoft.Dynamics.GP.eConnect, Version=11.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" was not.
29> References which depend on "Microsoft.Dynamics.GP.eConnect, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [C:\Development\Main\Tools\bin\GP10\Microsoft.Dynamics.GP.eConnect.10.dll].
29> C:\Development\Main\Tools\bin\GP10\Microsoft.Dynamics.GP.eConnect.10.dll
29> Project file item includes which caused reference "C:\Development\Main\Tools\bin\GP10\Microsoft.Dynamics.GP.eConnect.10.dll".
29> Microsoft.Dynamics.GP.eConnect.10
29> References which depend on "Microsoft.Dynamics.GP.eConnect, Version=11.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" [].
29> C:\Development\Main\Client\IntegrationModule\bin\Debug\GreatPlains2010Interface.dll
29> Project file item includes which caused reference "C:\Development\Main\Client\IntegrationModule\bin\Debug\GreatPlains2010Interface.dll".
29> C:\Development\Main\Client\IntegrationModule\bin\Debug\IntegrationModule.dll
29> C:\Development\Main\Client\IntegrationModule\bin\Debug\GreatPlainsInterface.dll
29> Project file item includes which caused reference "C:\Development\Main\Client\IntegrationModule\bin\Debug\GreatPlainsInterface.dll".
29> C:\Development\Main\Client\IntegrationModule\bin\Debug\IntegrationModule.dll
29>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5): warning MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.
Я хотел бы, чтобы подавить предупреждение для только в этом конфликте, как решить ее сами во время выполнения, но разрешите любые другие конфликты, которые могут возникнуть (в настоящее время нет), чтобы выпустить это предупреждение.
Есть ли способ сделать это?
В качестве альтернативы, может кто-то, кто понимает привязки переадресации, лучше, чем я предлагаю, чтобы мы могли избежать предупреждения в первую очередь?
Заранее спасибо.
Это не страшное решение. Давайте посмотрим, если кто-то придумает что-то немного лучше .... в любом случае я ценю ваше указание на низкую технику, но разумно рациональный способ справиться с этим .... –
@ denvercoder9 - Я реализовал ваше решение, и это хорошо рабочего решения. Рад принять решение, если вы хотите превратить его в сообщение. Еще раз спасибо. –
Thanks; рад, что это сработало! – denvercoder9