Я новичок в asp.net и бегаю кругами, пытаясь решить проблему с менеджером ролей.Я следовал вместе с учебником здесь , и я отклонился от него, пытаясь использовать базу данных DefaultConnection, созданную при запуске проекта, вместо изменения базы данных, созданной ранее в этой серии учебников.(У меня нет времени, чтобы закончить весь урок, прежде чем приступить к работе над моим проектом).
Я включил roleManager и добавил строку подключения по умолчанию, например:
<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
connectionStringName="DefaultConnection"
applicationName="/"
type="System.Web.Security.SqlRoleProvider"/>
</providers>
</roleManager>
Тем не менее, когда я запустил следующий тест с использованием codebehind:
if (!System.Web.Security.Roles.RoleExists(newRoleName))
{
System.Web.Security.Roles.CreateRole(newRoleName);
}
Я получил исключение с сообщением Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
Так что я нашел это в Google и обнаружил большое количествоответы (например, этот ) здесь и на форуме Microsoft, где говорится, что мне нужно запустить aspnet_regsql.exe, чтобы отправить необходимую схему в базу данных.Ну, я сделал это и обнаружил, что хранимые процедуры не были созданы.Так что я прогуглил , что , и нашел пару ответов, таких как this , говорящих, что мне не нужно ничего делать, потому что ASP Identity 2 этого не требует, и простоверните мой файл web.config обратно в исходное состояние, например:
<roleManager>
<providers>
<clear />
</providers>
</roleManager>
Итак, я сделал , что , и когда я попытался создать роль, я получил исключение The Role Manager feature has not been enabled.
.Что, конечно, приводит меня обратно к тому, с чего я начал.Я в конце своего остроумия.Я попытался использовать флаг -sqlexportonly и проверил полученный SQL, и не вижу ни одной хранимой процедуры, создаваемой SQL.Поэтому я не знаю, что делать, на данный момент.