@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

Web系プロジェクトの作成フォルダについて

1
投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-06-03 10:47
 Web系プロジェクトを開くときに、プロジェクトを開けないことがあります。
 多人数で開発するとき、ソリューションを共有し、プロジェクトを担当者に編集させるため、VSSを中継しェソリューションの受け渡しをしようとしています(フォルダごとコピーでもいいが)。このとき、プロジェクトフォルダの作成先によってはVS.NETがプロジェクトを読み込んでくれません。具体的には、次のように操作しました。

 VB.NETでもC#でも、WebアプリケーションまたはWebサービスのプロジェクトを新規作成します。すると、C:\Inetpub\wwwroot\WebApplication1にアプリケーションのファイルが作られ、My Documents\VisualStudio Projects\Solution1に、.slnファイルが作られます。
 この状態で、ソリューションをVSSに登録します。
 別のPCで、VSSからソリューションを、My Documents\VisualStudio Projects\Solution1の下に、階層を再現して取り出します。
 IISマネージャを起動し、ルート直下にMy Documents\VisualStudio Projects\Solution1\WebApplication1を
参照する仮想ディレクトリを作成します。プロパティから、アプリケーションを構成します。
 VS.NETを起動し、My Documents\VisualStudio Projects\Solution1\Solution1.slnを読み込みます。
 「WebApplication1プロジェクトが読み込めない」旨のエラーメッセージが表示されます。


 このとき、マイネットワークにlocalhostウェブフォルダへのショートカットが作られます。ところが、このショートカットをダブルクリックすると、WebApplication1がありません。にもかかわらず、VS.NETでWebの既存プロジェクトの追加を行い、サーバへのパスは「http://localhost」のまま、ファイル選択のダイアログ(WebApplication1フォルダは表示されない)で「http://localhost/WebApplication1/WebApplication1.vbproj」を入力すると、読み込もうとするのです。読み込もうとはしますが、「ソリューションに追加済み」というエラーになり、実際には読み込んでくれません。

 ところが、VSSから展開するときにC:\Inetpub\wwwroot\WebApplication1に展開すると、素直に(?)読みとってくれます。

 Cドライブの残り容量が少ないので、別のドライブに展開したいのですが、どうやったらいいのでしょう?

####
ちなみに、Solution1.slnを開き、WebApplication1の情報が書いてある「GlobalSection(SolutionConfiguration) = preSolution」から「EndGlobalSection」までをごっそり削除すると、開いてくれました。

#追加
この、ASP.NETのバグが関係しているのでしょうか??

[ メッセージ編集済み 編集者: Jitta 編集日時 2003-06-03 12:11 ]
ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2003-06-07 17:16
Jittaさん、こんにちは。

VSSを使用した多人数での開発のセオリーは私も知りたいところです。
というのも、さっさとあきらめて面倒な手法を用いていますので(笑)
やはりドライブ等の関係できっちり環境を揃えられないケースもあり以下のようにしています。

(1システム複数サブシステムで構成されているとして)
1.各メンバーに個別に以下の3つの環境を作ってもらう
・本番と同じ実行環境
 仮想ディレクトリと下の階層がまったく同じもの
 仮想ディレクトリはトップのみで以下は単なるフォルダ
 ここはVS.Netで一切さわらない
 各メンバーの2段階目のテストに使用する
・ビルド専用の環境
 1ソリューション1プロジェクト=1サブシステム
 各サブシステムのビルド責任者を1名もしくは2名のみ指名
・開発デバッグ環境
 1ソリューション1プロジェクト=複数サブシステム
 各メンバーが必要なもののみを取り込んで構成
 サブシステムはプロジェクトでなくフォルダ階層で

ソース管理は慎重に行う必要があるのと面倒なのがネックですが、
慣れれば何てことはないです。

でもやっぱりスマートかつ安全かつ確実にやりたいですね。
ジャム
会議室デビュー日: 2002/09/19
投稿数: 7
お住まい・勤務地: 大阪府
投稿日時: 2003-06-09 08:03
こんにちは、ジャムです。
直接の回答ではありませんが、VSSを使用しての開発は
以下の文書が非常に参考になります。

【Visual Studio .NET と Visual SourceSafe を使用したチーム開発】
http://www.microsoft.com/japan/msdn/net/bda/tdlg_rm.asp
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-06-09 08:12
こんにちは。
引用:

ジャムさんの書き込み (2003-06-09 08:03) より:
こんにちは、ジャムです。
直接の回答ではありませんが、VSSを使用しての開発は
以下の文書が非常に参考になります。

【Visual Studio .NET と Visual SourceSafe を使用したチーム開発】
http://www.microsoft.com/japan/msdn/net/bda/tdlg_rm.asp


 どうもです。一応、読んでプロジェクトの作成等行っているのですが、たとえばフロントページでアクセスできなかったり、IISの方でバージョン管理の一覧にVSSが出てこなかったり…

 どうも、私の読解力が低いのか(いや、高いとは言わないけれど)、MSDNなどに書いてあるようにしても、うまくいかないことが時々あるようで…あと、SPなんかで仕様が変更されていても、MSDN(ちなみに、April,2003使用)に反映されていないことも・・・
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-06-09 08:19
引用:

ラフィンさんの書き込み (2003-06-07 17:16) より:
Jittaさん、こんにちは。

VSSを使用した多人数での開発のセオリーは私も知りたいところです。
というのも、さっさとあきらめて面倒な手法を用いていますので(笑)
やはりドライブ等の関係できっちり環境を揃えられないケースもあり以下のようにしています。


 確かに、面倒ですね。
 やはり、追加で書いたバグも関係していて、階層を順に「ASPNET」ユーザに対する参照許可をすると、ウェブショートカットにもプロジェクトが現れました。

 とりあえず、IISやNTFSのセキュリティ関係の設定をやり直さなければならないのが面倒ですが、一応動かせるようになりました。
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2003-06-10 10:36
えっと、はずしているかもしれませんが、
Jittaさんの最初の質問って、「ソース管理からWebアプリを作成しようと
しているんだけど、それだと、C:\Inetpub\wwwroot\ 直下に作る必要が
あって、Cドライブの容量が少ない場合、どうするんだ!」って事ですよね。

で、結局VS.NETってデバッグの関係もあると思うんですが、「規定のWeb
サイト」配下で作業をしようとして、それ自体は仕方ないと思うので、
この際「規定のWebサイト」を別のドライブに変更して作業されては
いかがでしょうか?

そのほうが、チーム開発時のマニュアルとかも作りやすいと思うんですが。

引用:

Jittaさんの書き込み (2003-06-03 10:47) より:
 VB.NETでもC#でも、WebアプリケーションまたはWebサービスのプロジェクトを新規作成します。すると、C:InetpubwwwrootWebApplication1にアプリケーションのファイルが作られ、My DocumentsVisualStudio ProjectsSolution1に、.slnファイルが作られます。
 この状態で、ソリューションをVSSに登録します。
 別のPCで、VSSからソリューションを、My DocumentsVisualStudio ProjectsSolution1の下に、階層を再現して取り出します。
 IISマネージャを起動し、ルート直下にMy DocumentsVisualStudio ProjectsSolution1WebApplication1を
参照する仮想ディレクトリを作成します。プロパティから、アプリケーションを構成します。
 VS.NETを起動し、My DocumentsVisualStudio ProjectsSolution1Solution1.slnを読み込みます。
 「WebApplication1プロジェクトが読み込めない」旨のエラーメッセージが表示されます。

[ メッセージ編集済み 編集者: Jitta 編集日時 2003-06-03 12:11 ]

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

PALさんの書き込み (2003-06-10 10:36) より:
えっと、はずしているかもしれませんが、
Jittaさんの最初の質問って、「ソース管理からWebアプリを作成しようと
しているんだけど、それだと、C:Inetpubwwwroot 直下に作る必要が
あって、Cドライブの容量が少ない場合、どうするんだ!」って事ですよね。

で、結局VS.NETってデバッグの関係もあると思うんですが、「規定のWeb
サイト」配下で作業をしようとして、それ自体は仕方ないと思うので、
この際「規定のWebサイト」を別のドライブに変更して作業されては
いかがでしょうか?


 Webサイトごと・・・考えていませんでしたね。
 いろいろいじった設定をまとめると、「C:\Inetpub\wwwroot」の下にフォルダを作ると、当たり前なのですが、ASPNETなどのユーザがさわれるようにNTFSのセキュリティ設定がされています。ところが、別のディレクトリを作ってそのディレクトリを仮想ディレクトリにすると、自分でセキュリティ設定をいじらなければならない。ということのようです。さらに、ASP.NETのバグで、仮想ディレクトリにするパスは、オリジナルのパスで見たときに8.3ルールに従っていなければならない、という制約があります。
 今回、この2点にことごとく違反していたためのようです。「GlobalSection(SolutionConfiguration) = preSolution」の件は、やってしまった後なのでどうだかわかりませんが。

 他のメンバーがこれからディレクトリを作るので、その結果を見てみます。どうもありがとうございました。
1

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