回答編集履歴

5

追記

2020/07/11 09:21

投稿

退会済みユーザー
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- MVC アプリのプロジェクトと同じソリューション内にクラスライブラリ LibraryA を追加し、下の画像の通り Settings.settings ファイルに文字列情報を追加。Class1.cs の中の ClassA のコードは質問のコードをそのままコピペします。
51
+ MVC アプリのプロジェクトと同じソリューション内にクラスライブラリ LibraryA を追加し、下の画像の通り Settings.settings ファイルに文字列情報を追加。**スコープはもちろん「アプリケーション」でなければなりません**。Class1.cs の中の ClassA のコードは質問のコードをそのままコピペします。
52
52
 
53
53
 
54
54
 

4

追記&訂正

2020/07/11 09:21

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- MVC プロジェクトとライブラリのプロジェクトの Visual Studio 上での構成がどうなっているか、参照設定はしているのか、MVC アプリの実行はどのようにしているのか、詳しいことが何も書いてないので、想像を膨らませてのレスですが・・・
1
+ MVC プロジェクトとライブラリのプロジェクトの Visual Studio 上での構成がどうなっているか、参照設定はしているのか、MVC アプリの実行はどのようにしているのか、詳しいことが何も書いてないので、想像を膨らませてのレスですが・・・
2
2
 
3
3
 
4
4
 

3

追記

2020/07/11 03:00

投稿

退会済みユーザー
test CHANGED
@@ -33,3 +33,71 @@
33
33
 
34
34
 
35
35
  ユーザー固有の情報ならユーザー認証を実装していると思いますが、ASP.NET Identity ならプロファイルを使ってはいかが?
36
+
37
+
38
+
39
+ **【追記2】**
40
+
41
+
42
+
43
+ 下の 2020/07/11 11:01 の私のコメントで「後で、どのように試したかを質問欄に追記しておきます」と書きましたが、それを以下に追記します。
44
+
45
+
46
+
47
+ 以下のようにすれば LibraryA の Settings.settings ファイルに設定した文字列は、MVC のコントローラーで、質問者さんと同じコードを使って取得できます。
48
+
49
+
50
+
51
+ MVC アプリのプロジェクトと同じソリューション内にクラスライブラリ LibraryA を追加し、下の画像の通り Settings.settings ファイルに文字列情報を追加。Class1.cs の中の ClassA のコードは質問のコードをそのままコピペします。
52
+
53
+
54
+
55
+ ![イメージ説明](a3e4a15152e086840fc2de5c0c3073be.jpeg)
56
+
57
+
58
+
59
+ MVC プロジェクトで LibraryA を参照に追加します。
60
+
61
+
62
+
63
+ ![イメージ説明](d6f5303444f82fcd06c3bcb691a2e4ff.jpeg)
64
+
65
+
66
+
67
+ そうすれば、ソリューションをビルドすると自動的に MVC プロジェクトの bin フォルダに LibraryA の .dll とともに .dll.config が コピーされます。その .dll.config に LibraryA の Settings.Settings ファイルに設定した文字列 "LibraryA の Settings.settings に設定した文字列" が含まれています。
68
+
69
+
70
+
71
+ ![イメージ説明](53d2138bff0d4405cd852c76dba4c150.jpeg)
72
+
73
+
74
+
75
+ その後、コントローラで、質問者さんのコードの var result = LibraryA.ClassA.ValueA; を使って、bin フォルダにコピーされた .dll.config ファイルから目的の文字列を取得できます。
76
+
77
+
78
+
79
+ なので、最初の回答に書いた、
80
+
81
+
82
+
83
+ > ライブラリが使う構成ファイルがワーカープロセスからアクセスできない場所にある
84
+
85
+
86
+
87
+ ・・・は当たっていると思います。MVC プロジェクトの bin フォルダに .dll.config が無いのでは?
88
+
89
+
90
+
91
+ > 現状システムでは、サーバ側webアプリケーション(ASP.NET)とサーバ側常駐アプリケーション(C#コンソールアプリケーション)で、それらの橋渡しをする為に、同じ設定値を参照する必要があります。
92
+
93
+
94
+
95
+ 「同じ設定値を参照」というのが、物理的に同じファイルから値を取得するということですと、それは無理っぽいです。.dll.config ファイルの配置場所は MVC アプリとコンソールアプリで別にならざるを得ないようですので。
96
+
97
+
98
+
99
+ 同じ内容の .dll.config ファイルのコピーを 2 つ作って、MVC アプリとコンソールアプリに別々に配置するということは可能かもしれません。
100
+
101
+
102
+
103
+ そこは自分は未検証・未確認です。質問者さんの方で試して結果を教えてください。

2

追記&訂正

2020/07/11 03:00

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,4 @@
1
- MVC プロジェクトとライブラリのプロジェクトの Visual Studio 上での構成がどうなっているか、参照設定杯はしているのか、MVC アプリの実行はどのようにしているのか、詳しいことが何も書いてないので、想像を膨らせてのレスですが・・・
1
+ MVC プロジェクトとライブラリのプロジェクトの Visual Studio 上での構成がどうなっているか、参照設定杯はしているのか、MVC アプリの実行はどのようにしているのか、詳しいことが何も書いてないので、想像を膨らせてのレスですが・・・
2
2
 
3
3
 
4
4
 

1

追記

2020/07/10 09:36

投稿

退会済みユーザー
test CHANGED
@@ -13,3 +13,23 @@
13
13
  構成ファイルの保存場所
14
14
 
15
15
  [http://surferonwww.info/BlogEngine/post/2019/09/01/where-are-configuration-files.aspx](http://surferonwww.info/BlogEngine/post/2019/09/01/where-are-configuration-files.aspx)
16
+
17
+
18
+
19
+ **【追記】**
20
+
21
+
22
+
23
+ 今気が付きました。
24
+
25
+
26
+
27
+ > //ValueAは設定ファイル内に定義(スコープはユーザー)
28
+
29
+
30
+
31
+ 「スコープはユーザー」ということは、ユーザーの個人情報と思いますが、であればそれを構成ファイルに保存することは ASP.NET Web アプリでは不可能です。無理筋とかいうレベルではなくて、誰が何と言おうと 100% 不可能です。
32
+
33
+
34
+
35
+ ユーザー固有の情報ならユーザー認証を実装していると思いますが、ASP.NET Identity ならプロファイルを使ってはいかが?