• ベストアンサー

VB.NETでWebアプリを作成後に、サーバにアップするファイル

VB.NETにおいて、Webアプリケーションを作成しました。 作成場所はローカルマシンのwwwroot\abcde\ URL http://localhost/abcde/webform1.aspx にて動作を確認しました。 これをサーバにあげたいのですが、セキュリティを考えると全部そのままあげるのはよろしくないですよね?(プログラムソースもある為) ディレクトリ内には、_vti_cnfフォルダなど隠しフォルダがありますが、どれをアップさせればよいでしょうか?

  • Haule
  • お礼率52% (125/240)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

どのようなものを作っているのかわからないので何とも言いがたいのですが >http://localhost/abcde/webform1.aspx ↓ C:\Inetpub\wwwroot\abcde\ が開発環境であれば、単純な作りをしていれば ※[C:\Inetpub\wwwroot\]フォルダの中身 *.aspx *.htm *.html *.css *.画像の拡張子 [C:\Inetpub\wwwroot\bin]フォルダを丸ごと(*.pdbは不要) があれば動きます。 場合によっては *.htc などなども考えられたり・・・ 自動的に作成される隠しフォルダ[_vti_****]は、実環境では不要と思って結構だと思います。

Haule
質問者

補足

該当ファイルだけをサーバにあげてみました。 アップファイル ・binフォルダ(Calucu.dll) ・styles.css ・webform1.aspx リモート操作で、サーバ上から以下のURLで確認したところ http://localhost/abcde/webform1.aspx 解析エラー 型'Calucu.WebForm1'を読み込めませんでした。 エラー行 <%@ Page Language="vb" AutoEventWireup="false" Codebehind="webFrom1.aspx.vb" Inherits="Calucu.WebForm1"%> というところでエラーがでてしまいました。 拡張子が.WebForm1なんてファイルはなかったのですが、なんでしょうか><

その他の回答 (5)

回答No.6

一つ気がついたのですが、 >ローカル作成プログラムがすでに仮想ディレクトリ指定になっていました。 それぐらいは・・・ ^^;;;;;;;; >wwwroot\abcdeが仮想ディレクトリになっている為、・・・エラーになるようです。 その都度、質問者が仮想ディレクトリを設定しているのだと、勝手に思っておりました。 >規定のWebサイトでできない理由が不明です。 とりあえず起動しているみたいなので、私の発言は終わりますね。 ここからは、教えてもらうより慣れることの方が大事だと思います。 セキュリティや権限を、「あーだこーだ」触っている内に、環境が整います。 もしくは、取り返しがつかないぐらいに壊れますw IISを学ぶ人は、何度もIISを入れ直しつつ、勘を身につけていっています。 論理も大事ですが、嗅覚を磨くことも結構大事だと思います。

Haule
質問者

お礼

何回もレスありがとうございました。 勉強してみます。

回答No.5

[規定のWebサイト]プロパティ と 作成した[仮想ディレクトリ]プロパティ のセキュリティが違うのかな? 設定次第でwebrootでいけるはずですよー >しかし、フォルダ名を”abcde"から”xyz"に変更すると、 フォルダを変更したりする場合は、IISリセットをお勧めいたします。 [スタート]→[ファイル名を指定して実行(R)] で iisreset を入力し実行です。 環境が整っていれば、これで動作可能だと思うのですが、、、 特別意識した作りでなければ、プロジェクトルート以下の階層は意識しなければならないですが、プロジェクトルートフォルダは関係ないはずです。質問者さんのソースもそのような作りであれば、環境設定で動作可能なはずです。 しかしその端末を見ないことには、はっきりと「これが原因」とは言い難いです。

Haule
質問者

補足

一つ気がついたのですが、 ローカル作成プログラムがすでに仮想ディレクトリ指定になっていました。 wwwroot\abcdeが仮想ディレクトリになっている為、Xyzに変更しちゃうと仮想ディレクトリ経由にならないとでエラーになっちゃう為xyzに変更するとエラーになるようです。 Xyzの問題はわかりましたが、やっぱり仮想ディレクトリでできて、規定のWebサイトでできない理由が不明です。 両方の認証設定を見てみましたが、両方とも統合Windows認証になっていました。 むむむ。難しい。

回答No.4

#3の訂正です。 >abcde.vbproj じゃなさそうですね。。。。 多分 Calucu.vbproj ですよね。。。 でそこで思ったのですが、 Calucu.vbproj をテキストエディタ(メモ帳など)で開いてみてください 下記の3つがありますでしょうか? AssemblyName = "Calucu" RootNamespace = "Calucu" StartupObject = "Calucu.(なし)"

Haule
質問者

お礼

ありがとうございました! できました。 Inetpub内にCalucuフォルダを作成し、全部ぶっこんで、仮想ディレクトリを割り当てて実行したらできました。(サーバ) ただ、なぜできたのか、理由がわからない。。 仮想ディレクトリだとできて、普通にwwwroot内におくのとなにが違うのでしょうか。 ちょっと、気持ちわるいので、理由をどなたかおしえてくださいー

回答No.3

>拡張子が.WebForm1なんてファイルは Inherits→inherit→引き継ぐという意味 継承がCalucu.DLLのWebForm1から行われるということで、拡張子ではありません。 「キーワード:インスタンス」 エラー内容は 「Calucu.DLLが見つからない」または「Calucu.DLLにWebFrom1」が見つからない ということです。 そのWebプロジェクトをソリューションエクスプローラで見ると abcde.vbproj  ├・・・・  ├styles.css  ├・・・・  └webform1.aspx となっているのですよね? abcde.vbproj  ├・・・・  ├styles.css  ├・・・・  \フォルダ   └webform1.aspx というように、ASPXがフォルダ階層の下にはなっていませんよね? なっていなければ、 \abcde  ├webform1.aspx  ├styles.css  \bin   └Calucu.dll という構成で、いけると思うのですが。。。 Calucu.DLLを再度コンパイルしてみてください。 (コンパイルされたらきちんとタイムスタンプもチェックしてみてください) それで再構成しても、同じですか?

Haule
質問者

補足

レスありがとうございます! >abcde.vbproj > ├・・・・ > ├styles.css > ├・・・・ > └webform1.aspx >となっているのですよね? そうですー ローカルにて abcdeフォルダ  ├webform1.aspx  \bin   └Calucu.dll これで動きました。 しかし、フォルダ名を”abcde"から”xyz"に変更すると、 解析エラー 型'Calucu.WebForm1'を読み込めませんでした エラー行 <%@ Page Language="vb" AutoEventWireup="false" Codebehind="webFrom1.aspx.vb" Inherits="Calucu.WebForm1"%> といわれました。前と同じエラーです。絶対パスが書いてない行なのに、なぜ、エラーがでるのでしょうか。 サーバの方は前と現象がかわらなかったので、 ローカルabcde内のファイルをすべてアップしましたが、実行すると サーバーエラーで構文エラー web.configファイルの38行目 「<authentication mode="windows" />」 が、起きてしまいました。 わけがわからない>< ウィンドウズ認証がいけないっていってるんでしょうか

回答No.1

一つ一つのファイルをコピーするより、 Webセットアッププロジェクトを使うことをお勧めします。 たんなるファイルコピーだとファイルの権限なども直さないといけないし、IISの設定にも手を入れなければなりませんが、Webセットアッププロジェクトでインストーラーを作れば大体やってくれます。 アップするコンテンツも選択できるので、ソースファイルを除外することもできます。

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vbconSetupProjects.asp
Haule
質問者

補足

セットアッププロジェクトで作成してみました。 プロジェクト出力グループの追加で、よくわからなkったので、以下の3つを追加しました。 ・プライマリ出力 ・ローカライズされたリソース ・コンテンツファイル セットアップファイルを作りサーバにいれ、 wwwroot\abcde\にインストールし、サーバ上で同じように(リモート操作)IEを立ち上げ http://localhost/abcde/webform1.aspx を実行したところ、 サーバーエラーで構文エラーがおきまして web.configファイルの38行目 「<authentication mode="windows" />」 がエラーになっているようです。 なぜなのでしょうか?

関連するQ&A

  • 【VB2005】Exeファイル作成について

    質問です。 VB2005で作成したアプリケーションを"Exe"にして VB2005が無いマシンでも動くようにしたいと思います。 フレームワークをインストールしないことを前提になると難しいでしょうか? ReleaseフォルダのExeなら動くと思ったのですが。 アドヴァイスお願いします。

  • Front PageでWEBを作成したときに作られるフォルダ

    Front Page2000を使用しているのですが、WEBを作成したときに「_vti_cnf」 などのフォルダが自動的に作成されますが、この役割は何ですか? また、外部のFTPソフトでサーバへアップしているのですが、これらのフォルダは アップロードをしなくても平気ですか? よろしくおねがいします

  • VB.net webアプリケーション 戻る機能&画面表示方法(初心者)

    VB.net2003 webアプリケーション 戻る機能。 いわゆるIEの左上にある「戻る」ボタンをVB.netのメソッドで行いたいのですが。教えてくださいませ。 もう一つ、画面の移動ですが、今は Server.Transfer("Logon.aspx") のようにしているのですが、VBっぽく Dim f As New webForm1 f.show(みたいなメソッド) で表示できないでしょうか?

  • VB2010でフォルダを作成したいのですが、

    VB2010でフォルダを作成したいのですが、 System.IO.Directory.Create(strSFpath) とコード記入すると、 CreateはSystem.IO.Directoryのメンバではありません。 とエラー表示されます。 どうしたらフォルダが作成できるか教えてください。 よろしくお願いします。

  • Vsual Studio .NETのWebアプリケーションのVB言語と

    Vsual Studio .NETのWebアプリケーションのVB言語とC#言語について 現在、Vsual Studio .NETのWebアプリケーションのVisualBasicプロジェクトで開発の勉強をしています。そこで使用されている、コントロールを使用した時に命令する言語、VB言語の辞書や、参考になるサイトがあればご教授願います。例えば、VB言語の別のフォーム(○○○.aspx)に移動させるためには、Response.Redirect("./WebForm2")といった具合に、Response,RedirectというVBの言語は、Windowsアプリケーションで使用する命令言語と異なっている部分等があるので、.NETのWebアプリケーション用のVB言語辞典みたいなのがあれば、幸いです。又、同じく、C#言語の辞典もあればご教授願います。また、Webアプリケーションで、データベース(アクセス)と、やりとりをするお勧めの参考書もご教授願えれば幸いです。初心者ですので、何卒宜しくお願いいたします。

  • VB .netでドキュメントにフォルダの作成の仕方

    VB .netで自分のドキュメントにフォルダを作成する方法を教えて下さい。 普通のフォルダ作成はできました。 System.IO.Directory.CreateDirectory("c:\test\test") 自分のドキュメントに作りたいので以下のようにやってみましたがダメでした。 System.IO.Directory.CreateDirectory("%USERPROFILE%\Documents\test") 何かやり方がありますか? それとも以下のようなベタ書きしかできませんか? System.IO.Directory.CreateDirectory("c:\Users\user1\Documents\test")

  • HP作成時になぞのフォルダが

    Front Paga 2000でHPを作成していますが、HPに使用しているフォルダ内に「_vti_cnf」という名のフォルダが勝手に作成されます。 このフォルダはなんなのでしょうか??

  • VBで作成したアプリのリサイズ方法

    VBで作成したアプリのリサイズ方法 VB2010を使用してアプリケーションを作成しました。 exeだけコピーしてノートPCで実行しようとしたところディスプレイサイズの違いではみ出してしまっています。 開発環境は1280x1024でアプリのサイズはほぼ全画面の大きさです。 ノートPCは1024x768です。 実行マシンの環境に合わせて勝手にリサイズされるものと思っていたので困っています。 アプリの実行サイズを簡単にリサイズ(縮小)できる方法はないでしょうか。。 よろしくお願い致します。

  • IISのルートディレクトリをアプリケーション化

    IIS7.5でルートのinetpub\wwwrootをアプリケーション化し、aspxを動かしたいと考えています。 (1)サブディレクトリHogeを作ってdefault.aspxをおく→仮想ディレクトリにしてアプリケーション化→○○/Hoge/Default.aspxを動かす。これは簡単。 (2)ルートにdefault.aspxをおく→「ルートを仮想ディレクトリにしてアプリケーション化」→○○/Default.aspxを動かす。これは困難! 上記の「ルートを仮想ディレクトリにしてアプリケーション化」はどのようにすれば実現できるのでしょうか?それとも、そもそも不可能なのでしょうか? ご存知の方がおられましたらよろしくお願い申し上げます。

  • 覚えのないファイルがあります。

    こんにちわ。 今日、Cドライブの整理をしていたら、身に覚えのないファイルとディレクトリができていました。 ウィルスに感染したのではないかと心配です。 検知ソフトで反応はないのですがご存知の方がいらしゃいましたら ファイルの性質など教えていただけると助かります。 ディレクトリ名はMy Webs 中身は_private、_vti_cnf、_vti_pvt、images のディレクトリで、_vti_cnf、_vti_pvt隠しファイル属性です。 _vti_pvt以外は空で、_vti_pvtには botinfs、bots、serviceなどのファイルでアイコンはドライブへのショートカットですが、 実際はテキストファイル(?)のようです。 中身はvti_encoding:SR|utf8-nlが一行めにあり、 二行めに下記へのパス?が記述されたものが2件、 fp4Avnb.dll vinavbar.inf:VW|vinavbar cnfファイルで設定やパスのようなものが書かれたファイルが1件。 /のみのファイルが1件などです。 殆どのファイルがSpeedDialという種類だと出ていますが 該当ソフトをDLしたりインストールしたりしたことはありません。 ファイルとディレクトリの作成日は3日前でした。 埒のない資料のみで恐縮ですが、 おわかりになりましたら、教えてください。 よろしくお願いします。

専門家に質問してみよう