- PR -

他のPCで作成したソリューションを自分のPCに移動して使えない

1
投稿者投稿内容
谷四
会議室デビュー日: 2003/07/07
投稿数: 7
投稿日時: 2003-07-08 14:25
はじめまして。
Windows2000ProのローカルIISとVS.NET2002のASP.NETでプログラミングをしております。

他人のPCで作成したwwwroot内のフォルダ内に作成される全ファイルと
.sln拡張子を持つソリューションファイルをそれぞれ、
自分のPCのwwwrootフォルダ、マイドキュメント内のVisualStudioProjectsフォルダ内に
コピーしてビルドしましたところ、

「プロジェクトを実行しようとしている時にエラーが発生しました。
WEBサーバーでデバッグを開始できません。プロジェクトはデバッグできるように設定されていません。

ASP.NETプロジェクトでは、指定されたURLのプロジェクトファイル'Web.Config'が有効であることを
確かめてください。そして、そのファイルで、'debug'が'True’に設定されていることを確認してください。」
というエラーが出てしまいます。

Web.Configの'Debug'は'true'を調べたところ、'true'でした。

VsWebCacheフォルダ、.slnファイルを収めているフォルダ、
wwwroot内の各フォルダにeveryone(フルアクセス)
で権限を与えてみましたが、下記のエラーが返されました。




'/' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

構成にエラーがあります。
説明 : この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。
以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。

解析エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication'
として登録されているセクションを使うことはできません。
このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。

ソース エラー:
行 22: "Forms"、"Passport" および "None" です。
行 23: -->
行 24: <authentication mode="Windows" />
行 25:
行 26:

ソース ファイル : c:\\inetpub\\wwwroot\\ApplicationForm\\web.config 行 : 24


--------------------------------------------------------------------------------
バージョン情報 : Microsoft .NET Framework バージョン :1.1.4322.573; ASP.NET Version:1.1.4322.573

」・・・・・
以上なのですが、対応方法をご存知の方いらっしゃいましたら、ぜひご教授いただけますよう
よろしくお願いいたします。
現状は、自分のPCでソリューションを作成し他のPCからソースのみをコピー&ペーストし
ビルドする方法でこなしておりますが、結構手間でミスの可能性もありますので。。
ウィリー
常連さん
会議室デビュー日: 2003/01/24
投稿数: 24
お住まい・勤務地: 千葉県
投稿日時: 2003-07-08 15:08
みたところ、IISの設定をしていない為だと思います。
谷四
会議室デビュー日: 2003/07/07
投稿数: 7
投稿日時: 2003-07-09 09:39
ネームスペースさん。ご解答ありがとうございます。

>みたところ、IISの設定をしていない為だと思います。
「IISの設定」とは具体的に何をさすのでしょうか?
通常の、1.ソリューションの作成
   2.コーディング
   3.ビルド
   の流れなら、WEBアプリケーションを動作できますので
   IISの設定はできているものと認識しておるのですが?


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-07-09 10:35
こんにちは。
引用:

谷四さんの書き込み (2003-07-09 09:39) より:

>みたところ、IISの設定をしていない為だと思います。
「IISの設定」とは具体的に何をさすのでしょうか?



 IISマネージャを出して、「Webサイト」から該当のディレクトリを探し、右クリックして「プロパティ」、「アプリケーションの設定」にある「作成」ボタンをクリック
ウィリー
常連さん
会議室デビュー日: 2003/01/24
投稿数: 24
お住まい・勤務地: 千葉県
投稿日時: 2003-07-09 10:59

こんにちは。

解決策は、既にJittaさんが書き込んでくれた通りです。

付け加えで、ソリューションに対して誤解をなさっているようなので
簡単に説明します。

ソリューションとはあくまで複数のプロジェクトを一括管理するための箱みたいなもの
なので、IISとは一切関係ありません。
1つのソリューションに1つのプロジェクトしか存在しなければさほどメリットは感じ
られませんが、あるシステムが複数のプロジェクトにまたがって構成している場合での
開発は結構使えます。
全く違ったプロジェクトを1つのソリューションに入れることもできます。
この時は複数の開発画面を立ち上げるより無駄なリソースを使わなくて済みます。(開発時)
谷四
会議室デビュー日: 2003/07/07
投稿数: 7
投稿日時: 2003-07-09 13:37
Jittaさん、ネームスペースさん。ありがとうございます。
おかげで解決いたしました。
(エクスプローラによる権限設定の部分しか見てませんでした。)

cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-07-09 18:04
仮想ディレクトリ自動作成マクロを作りました。

やり方
・プロジェクトフォルダやWebフォルダを別マシンにコピーする。
・コピーしたXXX.slnを起動する。(このままでは動かない)
・VS.NETのツールメニューのマクロの新しいマクロプロジェクトを選ぶ。
・MacroProject1でそのまま「開く」を押す。
・マクロエクスプローラでModule1をダブルクリックして開き、下記コードに置き換え、保存する。
コード:
Imports EnvDTE
Imports System.Diagnostics
Imports Microsoft.VisualBasic

Public Module Module1
    Sub MakeVirtualDirectory()
        ' 参考 http://www.users.gr.jp/ml/archive/windows/5727.asp
        Dim svr As Object = GetObject("IIS://localhost/W3SVC/1/Root")
        Dim o As Object
        Dim prj As String = DTE.ActiveSolutionProjects(0).Name
        Try
            o = svr.Create("IIsWebVirtualDir", prj)
        Catch
            svr.Delete("IIsWebVirtualDir", prj)
            System.Windows.Forms.MessageBox.Show(prj + "を削除しました")
            Exit Sub
        End Try
        o.Path = "C:\Inetpub\wwwroot\" + prj
        If Not System.IO.Directory.Exists(o.Path) Then
            System.IO.Directory.CreateDirectory(o.Path)
        End If
        o.AccessRead = True
        o.AccessWrite = False
        o.AccessScript = True
        o.EnableDefaultDoc = True
        o.Defaultdoc = "default.aspx"
        o.EnableDirBrowsing = False
        o.AppCreate(True)
        o.AppFriendlyName = prj
        o.SetInfo()
        svr = Nothing
        o = Nothing
        System.Windows.Forms.MessageBox.Show("仮想ディレクトリ" + prj + "を作成しました")
    End Sub
End Module


・元のVS.NETのマクロエクスプローラでModule1を開き、MakeVirtualDirectoryをダブルクリックする。
(もう一度ダブルクリックすると、仮想ディレクトリを削除します。)
・ASP.NETを実行して確認する。

マクロの登録は一度だけでOKです。
(ちなみに、マクロの作成は今回始めてなので、よくわかっていません。)
1

スキルアップ/キャリアアップ(JOB@IT)