Команда Идет от XP32 до XP64 для Разработки.NET - Какие-либо Глюки?

Создайте новую подпрограмму или функцию, используя только три строки, которые повторяются в текущем коде. Определите параметры для вещей, которые меняются. Затем вызовите подпрограмму / функцию для каждого набора параметров. Нечто подобное

'call the sub/function from other code
DoAutoFilterArray ws, 5, "xxxxxx", Cells(2, 5), Cells(lr, 5), Cells(2, 3), Cells(lr, 3)
DoAutoFilterString ws, 18, "xxxxxx", Cells(2, 3), Cells(lr, 3), "FULL ACCOUNT UPGRADE"

Sub DoAutoFilterArray(ws as Worksheet, filterField as Long, criteria as String, _
                 sourceCell1 as Range, sourceCell2 as Range, _
                 targetCell1 as Range, targetCell2 as Range)

  With ws
    .Cells.AutoFilter Field:=filterField, Criteria1:=criteria
    .Range(sourceCell1, sourceCell2).SpecialCells(xlCellTypeVisible).Value = .Range(targetCell1, targetCell2).SpecialCells(xlCellTypeVisible)
    .Cells.Autofiler
  End With
End Sub

Sub DoAutoFilterString(ws as Worksheet, filterField as Long, criteria as String, _
                 sourceCell1 as Range, sourceCell2 as Range, _
                 targetValue as String)

  With ws
    .Cells.AutoFilter Field:=filterField, Criteria1:=criteria
    .Range(sourceCell1, sourceCell2).SpecialCells(xlCellTypeVisible).Value = targetValue
    .Cells.Autofiler
  End With
End Sub
6
задан Daniel Auger 11 February 2009 в 16:34
поделиться

12 ответов

При ссылке на какое-либо третье лицо DLLs, которые компилируются для 32-разрядного, то необходимо будет быть нацелены на приложения для 32-разрядного. Это может быть сделано или изменением настроек проекта или использованием corflags приложения с/32BIT + параметр.

Единственный "глюк", с которым я встретился за свои многие месяцы XP x64 как рабочая станция разработки, - то, что Редактировать-и-продолжать не работает в отладчике Visual Studio в 64-разрядных приложениях.

7
ответ дан 8 December 2019 в 04:32
поделиться

Это зависит.

Вы использовали P/Invoke в своем коде?

Вы использовали неуправляемый код и упорядочили данные к и от него? Раз так затем необходимо будет пройти этот код с частым гребнем :(.

Однако, если Ваш код является чистым C#, который не использовал P/Invoke затем единственная разница, которую необходимо видеть, небольшое увеличение производительности и лучшая производительность памяти :).

Можно однако столкнуться с гремлинами, находящими драйверы для машин разработки.

Если у Вас есть код приблизительно на 32 бита затем, возможно, Вы могли бы создать интерфейс WCF к нему (именованные каналы очень, очень быстро), и использование, что, чтобы говорить с сервисом на 32 бита. Я знаю, что у Вас не может быть кода на 32 бита в процессе на 64 бита, но я думаю, что можно открыть канал для процесса на 32 бита, если у меня нет той несправедливости. Вы могли всегда использовать TCP/IP в этом случае. Мог бы сохранить Вас от перезаписи критического кода в Вашей системе и позволить Вам использовать WOW64 или VM, чтобы заниматься проблемой миграции.

3
ответ дан 8 December 2019 в 04:32
поделиться

Вы не сможете говорить с базами данных Access MS от.NET x64, потому что существуют Струйные драйверы № x64.

Я считал бы это превосходной причиной переместиться в x64.

3
ответ дан 8 December 2019 в 04:32
поделиться

надеюсь эта справка

Регистрация COM 32 бита DLL для вызова asp 64 битов

Много ссылок о конвенции 32-64 бита

Общие часто задаваемые вопросы о 64-разрядном Windows

64-разрядная разработка системы

посмотрите это подсказки слишком Самое большое повышение производительности, которое Вы имели с самым маленьким изменением?

более большие подсказки по блогу: Назад к основам: 32-разрядный и 64-разрядный беспорядок вокруг x86 и x64 и Платформы.NET и CLR

Качественная поваренная книга приложения Windows от Microsoft

DevReadiness.org
Этот сайт выделен помощи экосистеме Windows ISV, разрабатывают высококачественные приложения для новых версий платформы. О Windows 7 недавно объявили на конференции 2008 года PDC, ссылка на новую готовность приложения "поваренная книга" предоставлена справа

Парни OPS Microsoft.com вели блог об их миграции к x64 и как все это работает.
Выполняя Microsoft.com на 64 битах … зависимости, совершенство, глюк

3
ответ дан 8 December 2019 в 04:32
поделиться

Я использовал XP 64 бита в течение нескольких месяцев в прошлом году. Мой опыт состоял в том, что стопка разработки Microsoft установила и работала без любых проблем, включая 64-разрядную версию SQL Server.

Я столкнулся с проблемами с сетевыми драйверами для встроенной сетевой платы Marvell Юкон моей платы Asus. Драйверы на 64 бита имели серьезные проблемы, которые не были сразу очевидны, но стали очевидными после нескольких месяцев интенсивного тестирования. Сетевые скорости передачи в сети Gigabit не были как ожидалось, и когда два процесса получили доступ к тому же сетевому ресурсу, Windows откажет.

Моя рекомендация, точно так же, как другой предложенный плакат, для тестирования установки аппаратного программного обеспечения, прежде чем Вы переключите всю команду. Это более вероятно, где Вы будете видеть проблемы.

2
ответ дан 8 December 2019 в 04:32
поделиться

Sun имеет хорошую статью об этом. http://developers.sun.com/solaris/articles/ILP32toLP64Issues.html

Для текущих 32-разрядных приложений весьма обычно предположить, что международный тип, длинный тип и указатели являются тем же размером. Поскольку размер длинных и изменения указателя в модели данных LP64, одно только это изменение является основной причиной ILP32-to-LP64 проблем преобразования.

0
ответ дан 8 December 2019 в 04:32
поделиться

TFS не поддерживает 64 бита (Сервер TFS, не уверенный для проводника команды)

1
ответ дан 8 December 2019 в 04:32
поделиться

Я разрабатывал на 64-разрядной платформе в течение некоторого времени. Это - маленькая подсказка, которая может сохранить Вас головная боль.

Если Вы получаете исключение

"BadImageFormatException" (например, "Не мог загрузиться или блок 'Microsoft. TeamFoundation и т.д. и т.д. или одна из его зависимостей. Попытка была предпринята для загрузки программы неверным форматом"),

существует высокая вероятность, что приложение не могло найти версию на 64 бита блока.

Мы часто сталкиваемся с этой ошибкой при доступе к базам данных с помощью драйверов OLEDB/Jet. Я также испытал это с инструментами, которые интегрируются с TFS.

Для фиксации этого направляйтесь во вкладку "Compile" при настройках проекта, "Усовершенствованные Опции Компиляции" и выбирают "x86" как целевой ЦП.

Надеюсь, это поможет!

2
ответ дан 8 December 2019 в 04:32
поделиться
  • Смешанный режим, отлаживающий, является проблемой при использовании какого-либо C++ и C# с 64-разрядными приложениями.
  • Существует все еще много средств разработки, которые не поддерживают работающий на Windows x64 или не поддерживают работу с 64-разрядными двоичными файлами. Возьмите, например, Compuware DevPartner. Это в настоящее время только поддерживает 32-разрядную разработку приложений, но само приложение будет работать на 64-разрядном Windows.
1
ответ дан 8 December 2019 в 04:32
поделиться

Теперь будет два набора источников данных ODBC (DSN): 32-битный и 64-битный. Некоторые базы данных в настоящее время не имеют обновленных драйверов для 64-разрядных версий, поэтому вам придется использовать 32-разрядные драйверы или просто подождать.

1
ответ дан 8 December 2019 в 04:32
поделиться

Вы можете столкнуться с проблемой, когда string.GetHashCode () возвращает другое значение для одной и той же строки на 32-битных и 64-битных машинах, поскольку они будут запускать разные версии CLR.

Важно:

«Поведение GetHashCode зависит от его реализации, которая может меняться от одной версии общеязыковой среды выполнения к другой. Причина, по которой это может произойти, состоит в том, чтобы повысить производительность GetHashCode ».

Подробнее здесь и здесь .

1
ответ дан 8 December 2019 в 04:32
поделиться

Мы столкнулись с двумя разными типами проблем:

  1. У нас был сторонний компонент, который обернул родную 32-битную dll. Производитель не предлагал 64-битную версию, поэтому нам пришлось ориентироваться на 32-битную разработку.

  2. Несколько проблем с драйверами. XP-64 не очень прижился (а теперь?), Когда мы его пробовали. Проблемы не были связаны с разработкой, но у нас были проблемы с драйверами принтера, сетевыми драйверами и т. Д.). В перспективе они изменили модель драйвера, поэтому сейчас может быть больше 64-битных драйверов, но я не знаю, будут ли они обратно совместимы с XP.

1
ответ дан 8 December 2019 в 04:32
поделиться