0

これは2日間私を悩ませています。データベースを持ち、手書き認識に焦点を当てた WPF アプリケーションがあります。したがって、app.config ファイルに接続文字列と、アプリの起動時のスタートアップ パラメーターがあります。これは、バージョン 2 ランタイムを有効にするためです。そうしないと、手書き認識が機能しません。デバッグ時にすべてが完全に機能します...

Visual Studio セットアップ ウィザードでインストールを作成し、アプリケーションをインストールしました。インストールはうまくいきましたが、app.config ファイルを使用しようとするたびに NullReference がスローされます。

だから私は知りたい: app.config ファイルをリソースまたは埋め込みリソースとして設定する必要がありますか、それともコンテンツを保持する必要がありますか? アプリは、デバッグ時に app.config ファイルの内容を正常に読み取ることができるのに、インストール後に接続文字列プロパティを取得するときにクラッシュするのはなぜですか? インストールを作成するときに、app.config ファイルをコードで使用できるようにするために実行する必要がある設定はありますか? (app.config ファイルがプログラム ファイル ディレクトリであるため)。

したがって、接続文字列を (変数に) ハードコーディングすると、すべて正常に動作しますが、app.config ファイルが使用されていないため、手書き認識が機能しないようです。

時間に追われているので、何か助けていただければ幸いです。

PS: 念のため、app.config ファイルの内容を以下に示します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
  <appSettings>
  </appSettings>
  <connectionStrings>
    <add name ="conString" connectionString="server=ServerName;database=dbname;Integrated Security='true'"/>
  </connectionStrings>
</configuration>
4

1 に答える 1

1

app.configファイルは( settingsVisual Studio の Properties / Settings.settings の下) から自動生成されます。この接続文字列が設定にある場合は、次の方法でアクセスできます。

var conString = Settings.Default.conString;

また、プロジェクトにコンパイルされ、app.configファイルが使用可能な場合にのみファイルによってオーバーライドされます。

また、app.configファイルは実行ファイルと同じフォルダ内のファイルである.exe必要があり、同じ名前である必要があります。たとえば、の場合myprogram.exemyprogram.configファイルは同じディレクトリにある必要があります。

于 2012-10-15T12:23:23.650 に答える