void AddIdentity(string name, string version, string hintPath)
{
if (name.Length == 0)
throw new AddInLoadException("Identity needs a name");
foreach (char c in name) {
if (!char.IsLetterOrDigit(c) && c != '.' && c != '_') {
throw new AddInLoadException("Identity name contains invalid character: '" + c + "'");
}
}
Version v = AddInReference.ParseVersion(version, hintPath);
if (primaryVersion == null) {
primaryVersion = v;
}
if (primaryIdentity == null) {
primaryIdentity = name;
}
identities.Add(name, v);
}