Имена в interop блоке имеют неправильную капитализацию

Использование:

git diff 15dc8^!

, как описано в следующем фрагменте [1 113] синтаксический анализ версии мерзавца (1) страница справочника (или в современном мерзавце gitrevisions (7) страница справочника):

Два других shorthands для именования набора, который формируется фиксацией и ее родительскими фиксациями, существуют. r1^ нотация означает всех родителей r1. r1^! включает фиксацию r1, но исключает всех ее родителей.

Это означает, что можно использовать 15dc8^! в качестве стенографии для 15dc8^..15dc8 где угодно в мерзавце, где изменения необходимы. Для [1 116] разность управляет эти git diff 15dc8^..15dc8, понят как git diff 15dc8^ 15dc8, что означает различие между родителем фиксации (15dc8^) и фиксацией (15dc8).

Примечание : описание в git-rev-parse(1) страница справочника говорит о пересмотре диапазоны , где это должно работать также на фиксации слияния больше чем с одним родителем. Тогда r1^!" r1 --not r1^@" т.е." r1 ^r1^1 ^r1^2 ..." глоток>

кроме того, можно использовать git show COMMIT для получения описания фиксации и разности для фиксации. Если Вы хотите только разность, можно использовать git diff-tree -p COMMIT

7
задан sharptooth 31 July 2009 в 07:56
поделиться

2 ответа

Просмотрите свой код и посмотрите, есть ли какое-либо имя параметра, свойства или метода, которое имеет точное написание и заглавные буквы «рабочий процесс». Это почти наверняка будет параметром функции интерфейса COM. Измените имя на paramWorkflow, и проблема должна исчезнуть.

Почему это произошло? В инструментах библиотеки типов есть ошибка, из-за которой идентификаторы будут храниться внутри без учета регистра. Таким образом, если у вас есть два имени с разной регистрацией, они будут храниться в одном слоте. Эти имена затем используются непосредственно во время генерации, поэтому будет выдан другой корпус.

Чтобы обойти эту проблему, нужно предотвратить конфликт, создав разные имена.

или имя метода, которое имеет точное написание и заглавные буквы слова «рабочий процесс». Это почти наверняка будет параметром функции интерфейса COM. Измените имя на paramWorkflow, и проблема должна исчезнуть.

Почему это произошло? В инструментах библиотеки типов есть ошибка, из-за которой идентификаторы будут храниться внутри без учета регистра. Таким образом, если у вас есть два имени с разной регистрацией, они будут храниться в одном слоте. Эти имена затем используются непосредственно во время генерации, поэтому будет выдан другой корпус.

Чтобы обойти эту проблему, нужно предотвратить конфликт, создав разные имена.

или имя метода, которое имеет точное написание и заглавные буквы слова «рабочий процесс». Это почти наверняка будет параметром функции интерфейса COM. Измените имя на paramWorkflow, и проблема должна исчезнуть.

Почему это произошло? В инструментах библиотеки типов есть ошибка, из-за которой идентификаторы будут храниться внутри без учета регистра. Таким образом, если у вас есть два имени с разной регистрацией, они будут храниться в одном слоте. Эти имена затем используются непосредственно во время генерации, поэтому будет выдан другой корпус.

Чтобы обойти эту проблему, нужно предотвратить конфликт, создав разные имена.

Почему это происходит? В инструментах библиотеки типов есть ошибка, из-за которой идентификаторы будут храниться внутри без учета регистра. Таким образом, если у вас есть два имени с разной регистрацией, они будут храниться в одном слоте. Эти имена затем используются непосредственно во время генерации, поэтому будет выдан другой корпус.

Чтобы обойти эту проблему, нужно предотвратить конфликт, создав разные имена.

Почему это происходит? В инструментах библиотеки типов есть ошибка, из-за которой идентификаторы будут храниться внутри без учета регистра. Таким образом, если у вас есть два имени с разной регистрацией, они будут храниться в одном слоте. Эти имена затем используются непосредственно во время генерации, поэтому будет выдан другой корпус.

Чтобы обойти эту проблему, нужно предотвратить конфликт, создав разные имена.

7
ответ дан 7 December 2019 в 05:26
поделиться

Взгляните на новый настраиваемый инструмент tlbimp:

https://blogs.msdn.microsoft.com/dotnet/2009/03/19/new-tlbimp-release-on -codeplex-full-customization-interop-assemblies /

Настройка сборок взаимодействия на основе правил

Новая утилита TlbImp позволяет пользователям настраивать сборку взаимодействия процесс преобразования в TlbImp, указав набор правил для настроить указанные типы / функции / подпись. Мы получили много отзывы пользователей TlbImp о том, что они хотят иметь возможность собственные изменения в сборке взаимодействия в процессе сборки, и они закончить использование ILDASM для дизассемблирования сборки взаимодействия в код IL, измените его с помощью сценария PERL, а затем используйте ILASM для повторной генерации сборка взаимодействия. Очевидно, что это болезненный процесс и требует много дополнительной работы. Эта функция предназначена для решения этой проблема.

Инструмент тестирования регрессии

Чтобы помочь разработчикам убедиться, что его изменение не вызывает никаких регрессии, мы разработали простой инструмент регрессионного тестирования

1
ответ дан 7 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: