1

使用 .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 后,我使用的是相同的,应用程序是使用所有键/值创建的,但我无法再通过SSOSettingsFileReaderSSOConfigStore.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 应用程序。

4

0 回答 0