0

これまで、私は常に Windows フォーム プロジェクトのSettings.settingsandResources.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 に答える