使用 .Net 3.5,我可以使用 MSBuild 创建 SSO 应用程序(类型:Config Store )并使用SSOSettingsFileReader.ReadString(appName, keyName)读取值。msbuild 脚本是:
<Sso.CreateApp ApplicationName="$(SsoAppName)" SettingsFile="@(SettingsGroup)"
AdminGroup="$(SsoAppAdminGroup)" UserGroup="$(SsoAppUserGroup)" ContactInfo="$(MsiManufacturer)"
SettingNameWhiteList="$(SsoSettingNameWhiteList)" SettingNameBlackList="$(SsoSettingNameBlackList)"
Condition="%(Identity) == %(Identity) and Exists(%(fullpath))"/>
升级到 .Net 4.6.2 后,我使用的是相同的,应用程序是使用所有键/值创建的,但我无法再通过SSOSettingsFileReader或SSOConfigStore.GetConfigStore (...) 读取键值。
var ssoStore = new SSOConfigStore();
var appMgmtBag = new ConfigurationPropertyBag();
((ISSOConfigStore) ssoStore).GetConfigInfo(appName, idenifierGUID, SSOFlag.SSO_FLAG_RUNTIME, appMgmtBag);
object propertyValue;
appMgmtBag.Read(propName, out propertyValue, 0);
return (string)propertyValue;
错误信息是:
The mapping does not exist. For Config Store applications, the config info has not been set.
如果我使用 SSO 应用程序配置,请手动创建一个带有测试键/值的应用程序。我可以检索值。
请告诉我如何使用 MSBuild 自动创建 SSO 应用程序。