Visual Studio 2017 を使いVB.NETのプログラムをverUPでアセンブリ情報ボタンにて番号をクライアントプログラムとサーバープログラム両方変えました。(コモンプログラムはいつもそのまま)するとデバッグ起動しログインIDパス入れたところパーサーエラーが発生しました。
実際にIISの中のデフォルトサイトの中のサーバープログラムを確かめるために、localアドレスをブラウザに入力したところパーサーエラーで中のasmxを見た際に同じエラーになりました。
不思議な点としては、別にセットアッププログラムをクライアントプログラムとサーバープログラムで作りまして、それをローカルにインストールして実行したところ、しっかりIISのWEBサーバーに接続できます。
つまり、
c:\interpub/wwwroot/配下のasmxには接続可能
c:指定のソリューションの中のサーバープログラム内のasmxはパーサーエラー
特段IISの設定に相違はありませんでした。
ひとつの原因として参照しているbinフォルダ内のアセンブリです。
おそらくビルドの設定でセットアッププログラム内にはしっかり必要なdllアセンブリを配置できるけれど、デバッグ時のVisual Studioではサーバープログラムのbinフォルダ内にうまくdllが配置できていない印象です。
デバッグ時にパーサーエラーが起きないためにあえてセットアップしたあとに出来上がったbinフォルダからdllをコピーしてデバッグ時のプログラム内に手作業で配置するのがおっくうなのですが、これはどういったビルド設定不足があるのでしょうか。
アドバイスよろしくお願い致します。
追記:セットアッププログラムからインストールしてcドライブinterpub\wwwroot配下にあるサーバープログラムのasmxは3年前の更新日でした・・・デバッグで使っているソリューションのサーバープログラムにあるasmxは2017年、つまりセットアップじたいがうまくういっていないということなのでしょうか。
さらに追記:
その後試したことは今回のVerUPではサーバープログラムはいじっていなかったので、昔のasmxをデバッグ時のソリューションのサーバープログラムに入れ替えて置いてみたところ、IISは動きました。しかし、visual studioでビルド時に
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー "~.asmx.resx" にマニフェスト リソース名を作成できません。ファイル 'C:\work\VerUP対応済みsln -~Server\~.asmx.vb' が見つかりませんでした。 ○○Server
と出ており、.vbの拡張子がないとエラーで出てしまっていました。
~.asmxと~.asmx.vbとなぜデバッグ時とローカルインストールプログラム起動時と求めているファイル拡張子が違うのでしょうか。
Visual studio2010のウェブプロジェクトとしてつくるasmxとVisual Studio2017のウェブプロジェクトとしてくるasmxはソリューションエクスプローラの表示方法も違うようです。
2010
~asmx
∟~.asmx.vb ←ここにソースコード記載されている
2017
~asmx ←ここにソースコード記載されている
L なし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。