Рейтинг:
25
Henry Z.
После распаковки zip-папки, пожалуйста, убедитесь, что она актуальна .dll не блокируется. Visual studio позволит вам добавить файл .dll в качестве ссылки, даже если он есть .dll блокируется, ключ здесь заключается в том, чтобы убедиться, что .dll так же, как и любая другая .библиотеки DLL, которые были несжаты, не блокируются. Вы можете разблокировать все библиотеки DLL, выполнив следующие действия на своем компьютере.
Шаг 1 - распакуйте исходный архив.
Шаг 2 - Выберите содержимое распакованных файлов и сожмите их в виде zip-папки.
Шаг 3 - распаковать zip-архив на Шаге 2.
Когда вы сжимаете папку на своем компьютере, информация с Вашего компьютера будет добавлена к ее содержимому. Когда содержимое будет распаковано на вашем компьютере, информация будет совпадать, и ни один из файлов не будет заблокирован.
Вы абсолютно правы, разместив свой вопрос там, где задокументирован контроль, обычно это лучшее место для получения помощи.
CHill60
Знаете ли вы, что вы можете использовать ссылку "улучшить решение" для добавления информации к существующему решению? Если он не отображается сразу, наведите курсор мыши на свой пост, и он должен появиться в правом нижнем углу вашего поста. Это предпочтительнее, чем публиковать несколько решений одного и того же вопроса - помимо того, что это сбивает с толку, когда один человек говорит две вещи, некоторые участники увидят в этом охоту за репостами и сообщат вам о злоупотреблениях.
YorkshireCap
хорошо, спасибо - я добавил эту заметку/ссылку о собственной странице вопроса элемента управления к моему первоначальному сообщению здесь и удалил заметку выше.
Я привык к другим форумам, где вы "отвечаете" на сообщения, но здесь, похоже, вы можете только принять решение или использовать"постоянную ссылку" (что бы это ни было).
Как только комментарий был опубликован, я вижу, что вы можете ответить на комментарии.
YorkshireCap
Генри З. Я последовал этой идее, и хотя она все еще не будет добавлена в качестве ссылки или в набор инструментов, я попробовал что-то новое: я перетащил dll в Обозреватель решений, и когда я был поверх имени проекта появился знак плюс, поэтому я опустил его, и теперь dll появляется под файлами проекта в обозревателе решений. Однако я все еще не вижу его в наборе инструментов, поэтому не могу им воспользоваться.
Есть ли здесь что-то, чего я не знаю? Конечно же а .Чистый контроль-это а .Net control, так что даже если он встроен в C#, то теперь это скомпилированная dll, предназначенная для него .Сеть так что я должен быть в состоянии использовать ее в VB.net панель инструментов и перетащить элемент управления на мою форму?
YorkshireCap
Хм, я просто попытался перетащить имя dll из окна обозревателя решений в Панель инструментов, и оно появилось там, но только в виде объекта текстового файла.
Я также щелкнул правой кнопкой мыши на dll в обозревателе решений и выбрал "открыть с помощью... обозревателя объектов". Затем перечисляются имя и свойства элемента управления, но я все равно не могу поместить соответствующий элемент управления в Панель инструментов,чтобы перетащить его на форму.
Henry Z.
YorkshireCap, вы можете поделиться со мной, где я могу скачать исходные файлы, чтобы я мог более полно исследовать вашу проблему...
YorkshireCap
да, https://www.codeproject.com/Articles/448562/An-Improved-Version-of-AGauge-A-fast-and-performin#_articleTop
Henry Z.
элемент управления .net не является универсальным. Обычно элемент управления .net не будет работать с какой-либо версией .net, а вместо этого предназначен для конкретной версии .net или выше, кроме того, элемент управления .net может быть разработан только для x86 или x64 или предназначен как для x86, так и для x64. Обычно эти требования содержатся в документации по контролю.
хорошо, для моего теста я создал новый проект Visual studio, скачал его .проблемы, разблокировал ДЛЛ. Я сделал свой проект Visual Studio и только для x86, и мне приходилось переступать через .net-версии до управления a измерений должным образом могут быть добавлены на панель инструментов. Я начал с .net 2.0, 3.0, 3.5, все из которых не работали, чем я перешел на .net 4.5, который работал . Для вашего проекта попробуйте X86 и ориентируйтесь на версию .net 4.5, и она должна правильно отображаться в панели инструментов.
YorkshireCap
Я стою просветленный, спасибо тебе, Генри З. :)
Это хорошо, что я понимаю, что происходит сейчас - я только что посмотрел на статью, и ее дата была 2012 - так что это вписывается в необходимость VS2012; я просто не осознавал этого.
К сожалению, я не могу использовать фреймворк 4.5 в vs2008, так что мне не повезло. Я больше не могу позволить себе обновлять VS - Ну, во всяком случае, не полную версию.
Я просто подумал об использовании исходного кода и посмотреть, смогу ли я скомпилировать его с моим VS2008; не компилировал dll с VB6, но должен быть в состоянии понять это. Имейте в виду, что теперь, когда я думаю об этом, используемый код, вероятно, связан с версией фреймворка, так что, возможно, это не сработает.
Иначе я просто не смогу использовать контроль Эй Джея Бауэрса. Мне придется продолжать поиски.
Еще раз благодарю вас за то, что нашли объяснение происходящему.
Henry Z.
YorkshireCap, я скачал исходный код и перестроил его .dll нацелена на то .Net framework 3.5 теперь, как я иду о получении .dll для вас?
YorkshireCap
Ух ты, большое тебе спасибо за это.
РКВД - спасибо - попробует завтра.
Хорошо, это завтра, и DLL легко втягивается в набор инструментов VS2008-молодец.
К сожалению, когда я пытаюсь запустить, даже просто с экземпляром элемента управления в форме и без изменений, я получаю исключение:---------------------------
Система.Исключение InvalidOperationException было необработанное
Сообщение="произошла ошибка при создании формы. Увидеть Исключение.InnerException для получения более подробной информации. Ошибка такова: не удалось загрузить файл или сборку 'AGauge, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' или одну из ее зависимостей. Система не может найти указанный файл."
Источник="a измерений тест1"
Трассировка стека:
в Agauge_test1.My.MyProject.Мои формы.Создайте__Instance__[T](экземпляр T) в 17d14f5c-a337-4978-8281-53493378c1071.vb:линия 190
в Agauge_test1.My.MyProject.MyForms.get_Form1()
в Agauge_test1.My.MyApplication.OnCreateMainForm() in C:\Users\Username\Documents\Visual Studio 2008\Projects\Agauge test1\My Project\Application.Дизайнер.В. Б.:линия 35
в корпорации Microsoft.На языке VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Онран()
в корпорации Microsoft.На языке VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
в корпорации Microsoft.На языке VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(строка[] командная строка)
в Agauge_test1.My.MyApplication.Main(String[] Args) в 17d14f5c-a337-4978-8281-53493378c1071.vb:строка 81
в системе.Домен приложений._nExecuteAssembly(монтаж, string[] аргументы)
в системе.домен приложений.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в корпорации Microsoft.VisualStudio.Хостингпроцесс.HostProc.RunUsersAssembly()
в системе.Нарезание резьбы.ThreadHelper.ThreadStart_Context(состояние объекта)
в системе.Нарезание резьбы.Параллельном режиме.Выполнения(в параллельном режиме параллельном режиме, ContextCallback обратного вызова, состояние объекта)
в системе.Нарезание резьбы.ThreadHelper.ThreadStart()
Свойство Innerexception: Система.ИО.Исключение filenotfoundexception
Сообщение="не удалось загрузить файл или сборку 'AGauge, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' или одну из его зависимостей. Система не может найти указанный файл."
Источник="a измерений тест1"
FileName="AGauge, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
FusionLog="=== Pre-bind state information ===\r\nLOG: User = PCname\\Username\r\nLOG: DisplayName = AGauge, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null\n (Fully-specified)\r\nLOG: Appbase = file:///C:/Users/Username/Documents/Visual Studio 2008/Projects/Agauge test1/bin/Debug/\r\nLOG: Initial PrivatePath = NULL\r\nCalling assembly : Agauge test1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.\r\n===\r\nLOG: This bind starts in default load context.\r\nLOG: No application configuration file found.\r\nLOG: Using machine configuration file from C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\config\\machine.config.\r\nLOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).\r\nLOG: Attempting download of new URL file:///C:/Users/Username/Documents/Visual Studio 2008/Projects/Agauge test1/bin/Debug/AGauge.DLL.\r\nLOG: Attempting download of new URL file:///C:/Users/Username/Documents/Visual Studio 2008/Projects/Agauge test1/bin/Debug/AGauge/AGauge.DLL.\r\nLOG: Attempting download of new URL file:///C:/Users/Username/Documents/Visual Studio 2008/Projects/Agauge test1/bin/Debug/AGauge.EXE.\r\nLOG: Attempting download of new URL file:///C:/Users/Username/Documents/Visual Studio 2008/Projects/Agauge test1/bin/Debug/AGauge/AGauge.EXE.\r\n"
Трассировка стека:
в Agauge_test1.Form1.метод InitializeComponent()
в Agauge_test1.Form1..ctor()
Свойство innerexception:
Я собираюсь взглянуть на сообщение позже, чтобы посмотреть, смогу ли я узнать что-нибудь из него. Это почти похоже на то, что он может искать зависимость?
Henry Z.
Йоркшир, я продублировал ошибку на своей стороне и исправил ее с помощью нескольких модификаций, пожалуйста, пришлите мне еще одну ссылку dropbox, чтобы я мог дать вам обновленный dll-файл.
YorkshireCap
Привет, Генри З. Отлично - спасибо. https://www.dropbox.com/request/x5HjENWmAfzl5i9RdyjT
YorkshireCap
Ага! Да, теперь он прекрасно работает. Большое спасибо, Генри Зет, что проявил интерес и помог мне собраться с мыслями. Я изучаю настройки прямо сейчас и должен быть в состоянии добавить это в свой проект симулятора.
Кстати, не могли бы вы поделиться со мной, в чем была проблема? Была ли это зависимость или что-то еще?
Henry Z.
Йоркшир, рад, что смог помочь. Я скачал исходный проект, изменил .net framework и перестроил проект, однако в 1-й сборке были некоторые проблемы, связанные с некоторыми зависимостями .net dll, которые все еще ссылались на старые более высокие .net 4.0. поэтому истинное исправление состояло в том, чтобы изменить .net framework для проекта и добавить разные зависимости .net 3.5 и перестроить проект/dll.