0

过去,我总是在 Windows 窗体项目中引用一个Settings.settingsResources.resx文件。我试图将一些代码移动到他们自己的项目中,其中一部分代码使用设置和资源文件来运行。

我将此代码移动到类库项目中,现在我在访问我设置的设置和资源时遇到问题。

类库中是否可以有设置和资源文件?

如果是这样,有什么特别需要做的吗?(我可以在项目的“属性”菜单中查看和编辑属性。

编辑:添加代码

我的 using 语句和示例代码...

using Data.Models;
using TSMTWin.Infrastructure;
using TSMTWin.Infrastructure.PDFCreation;
using PwObjectModel;
using Query;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;


//Usage example
if(System.Diagnostics.Debugger.IsAttached) {
    Infrastructure.Properties.Settings.Default.HasToLogin = false;
    Infrastructure.Properties.Settings.Default.Save();
}

我得到了Properties属性下的红色波浪线。

我的 app.config...

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="Infrastructure.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <Infrastructure.Properties.Settings>
            <setting name="QueryPath" serializeAs="String">
                <value />
            </setting>
            <setting name="HasSetIfHasToLogIn" serializeAs="String">
                <value>False</value>
            </setting>
            <setting name="HasToLogin" serializeAs="String">
                <value />
            </setting>
        </Infrastructure.Properties.Settings>
    </userSettings>
</configuration>
4

2 回答 2

1

是的,您可以将资源和设置添加到类库。只需在类库项目属性中创建一个默认设置/资源,然后尝试使用您现有的设置文件覆盖它。寻找命名空间和其他冲突。

于 2012-10-16T17:13:55.893 回答
0

这最终成为项目属性的问题。默认命名空间是在构建返回值的类时使用的(所以它出现)。

与我试图从internal修饰符引用设置的文件的命名空间匹配所需的默认命名空间是导致此问题的原因。

一旦所有这些都排列好,功能就会返回。

于 2012-10-16T23:57:51.223 回答