Нельзя ссылаться на сборку (System.Web.dll), которая содержит SqlMembershipProvider
из проекта Compact Framework.Насколько я могу судить, этот тип недоступен в Compact Framework.
Вероятно, вы получаете исключение, потому что вы загружаете сборку, содержащую IL, которую не может понять среда выполнения Compact Framework.
Однако довольно просто переписать то, что GenerateSalt делает самостоятельно, и компактная структура должна иметь все необходимое для его работы:
public string GenerateSalt()
{
byte[] data = new byte[0x10];
new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(data);
return System.Convert.ToBase64String(data);
}
Нет необходимости использовать SqlMembershipProvider (или рефлексию) ввсе.