как решить это .Net 3.5 предупреждение / ошибка? - PullRequest
3 голосов
/ 20 января 2010

У меня три машины. один установил VS2008, еще два установил SDK6 и Framework3.5 (один из них является машиной сборки).

Когда я использую MSBuild для сборки нашего приложения, все они получают это предупреждение:

C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets: предупреждение MSB3245: не удалось разрешить эту ссылку. Не удалось найти сборку "WPFToolkit, версия = 3.5.40128.1, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35". Убедитесь, что сборка существует на диске. Если эта ссылка требуется вашим кодом, вы можете получить ошибки компиляции.

и сборочная машина имеет некоторые ошибки:

scsm \ SCSM.cs (234,13): ошибка CS1501: нет перегрузка для метода 'Invoke' принимает '1' Аргументы scsm \ SCSM.cs (235,13): ошибка CS1501: нет перегрузки для метода 'Invoke' принимает аргументы '1' scsm \ SCSM.cs (304,13): ошибка CS1501: нет перегрузка для метода 'Invoke' принимает '1' Аргументы scsm \ SCSM.cs (314,13): ошибка CS1501: нет перегрузки для метода 'Invoke' принимает аргументы '1' scsm \ SCSM.cs (317,13): ошибка CS1501: нет перегрузка для метода 'Invoke' принимает '1' Аргументы scsm \ SCSM.cs (323,17): ошибка CS1501: нет перегрузки для метода 'Invoke' принимает аргументы '1' scsm \ SCSM.cs (324,17): ошибка CS1501: нет перегрузка для метода 'Invoke' принимает '1' Аргументы scsm \ SCSM.cs (325,17): ошибка CS1501: нет перегрузки для метода «Invoke» принимает аргументы «1»

но другие машины передаются без ошибок. Ресурсы идентичны в этих трех машинах.

искали в Интернете, но не смогли найти ответ. Кто-нибудь здесь может помочь мне решить это? спасибо

Ответы [ 3 ]

3 голосов
/ 20 января 2010

Не удалось найти сборку "WPFToolkit, версия = 3.5.40128.1, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35".

WPFToolkit не является частью .net Framework, но является компонентом, который можно загрузить.

Вы загрузили и скопировали WPFToolkit-DLL в какое-то место на сборочной машине, где ваш проект может его найти? (либо какой-либо каталог, установленный в ссылках вашего проекта или GAC)


scsm \ SCSM.cs (325,17): ошибка CS1501: перегрузка метода «Invoke» не принимает аргументов «1»

По моему опыту, эта проблема может означать, что вам не хватает SP1 для .net Framework 3.5.

РЕДАКТИРОВАТЬ: После просмотра вашего кода, я почти уверен, что это проблема. Dispatcher.Invoke(delegate, params object[] args), который вы здесь звоните, был добавлен в Framework 3.5 SP1 , см. страницу MSDN этого метода :

Поддерживается в: 3.5 SP1, 3.0 SP2

2 голосов
/ 20 января 2010

Похоже, на ваших машинах отсутствует сборка WPF Toolkit . Чтобы получить наиболее плавные результаты, включите его в свою систему управления версиями вместе с исходным кодом и добавьте ссылки с вкладкой Просмотр в диалоговом окне Добавить ссылку в Visual Studio. Тогда вы можете быть уверены, что он будет представлен и найден на любой машине, на которую вы будете загружать исходный код в будущем.

0 голосов
/ 20 января 2010

WPFToolkit звучит так, как будто вы, возможно, захотите установить this (предположительно).

Invoke звучит как другая версия dll; возможно, отсутствует метод перегрузки или расширения. Проверьте, что ссылки идентичны на сервере сборки (или лучше: включите ссылки внутри проекта). Это может также быть разницей (скажем) между .NET 3.5 и .NET 3.5 SP1 (или аналогичной), но трудно сказать, не увидев ошибочную строку кода.

...