Если у вас есть несколько модулей в AndroidStudio (модули в терминах Android Studio, а не Dagger), другой возможной причиной сбоя является то, что вы забыли поместить процессоры аннотаций во все модули »build.gradle
.
Мы разделили наше приложение на несколько модулей, обновили зависимости от использования implementation
до использования api
, но забыли соответствующим образом обработать процессоры аннотаций.
Итак, вы можете иметь эти строки только в корневом модуле:
api 'com.google.dagger:dagger-android:2.16'
// if you use the support libraries
api 'com.google.dagger:dagger-android-support:2.16'
Но эти должны быть указаны во всех зависимостях модулей:
annotationProcessor 'com.google.dagger:dagger-compiler:2.16'
// if you use injections to Android classes
annotationProcessor 'com.google.dagger:dagger-android-processor:2.16'
Вот решение:
1) Щелкните правой кнопкой мыши файл (в Source Control Explorer) и выберите свойства.
2) Затем перейдите в раздел безопасности и добавьте себя (make убедитесь, что вы выбрали переключатель пользователя)
3) Затем откажитесь от прав на регистрацию. (Установите флажок «Запретить» под отметкой)
Это остановит вас от регистрации файла. Чтобы иметь возможность проверить его позже, просто выполните эти шаги еще раз, но установите флажок Разрешить.
Примечание: вам может потребоваться, чтобы ваш администратор предоставил вам «Управление настройками безопасности» для этого файла (выполните те же действия, что и выше , но на шаге 3 выберите «Разрешить» в разделе «Управление настройками безопасности».)
Option 1: You could just make the web.config
writeable locally without checking out (this would be helped by setting VS to prompt for checkout).
Option 2: Move the password out of the web.config. Using a configSource
attribute to put that configuration into a local, not in TFS, file. Each developer then maintains their own copy.
E.g. in web.config
:
<configuration>
...
<connectionStrings configSource="LocalConnectionStrings.config"/>
</configuration>
and in LocalConnectionStrings.config
:
<connectionStrings>
<add name="MyConnectionString"
connectionString="Data Source=.;Initial Catalog=Test1;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
NB. configSource
is implemented by ASP.NET's config runtime and is supported on all configuration elements for ASP.NET (and, thus, not for arbitrary (including custom) configuration elements).
(Also note the
provides another include mechanism, but is limited to assemblyBinding
element.)
Как насчет того, чтобы не выполнять извлечение файла, а просто изменить его локально?
Элементы, контролируемые источником, в TFS используют атрибут 'Только чтение' файла для оценки состояния файла. Вы можете перейти в физическую папку, в которой существует web.config на вашей машине, через проводник. Перед началом работы убедитесь, что ваш web.config зарегистрирован. Затем:
Вам придется сделать get specific на файле, чтобы получить любые изменения из TFS после этого.