过去,我总是在Windows窗体项目中引用Settings.settings
和Resources.resx
文件。我试图将一些代码移动到他们自己的项目中,代码的一部分使用设置和资源文件来运行。
我将此代码移动到类库项目中,现在我无法访问我设置的设置和资源。
是否可以在类库中设置设置和资源文件?
如果有,还有什么需要做的特别事吗? (我可以在项目的“属性”菜单中查看和编辑属性。
编辑:已添加代码
我的使用语句和示例代码......
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>
答案 0 :(得分:1)
是的,您可以向类库添加资源和设置。只需在类lib项目属性中创建默认设置/资源,然后尝试使用现有设置文件覆盖它。寻找命名空间和其他冲突。
答案 1 :(得分:0)
这最终成为项目属性的问题。默认命名空间是在构建返回值的类时使用的(因此显示)。
匹配我尝试引用internal
修饰符设置的文件的命名空间所需的默认命名空间是造成这种情况的原因。
一旦所有这些都归功于返回的功能。