0

Visual Studioでビルドして正常に実行できますが、Nantタスクを実行してWebサイトをコンパイルすると、エラーが発生します。

[path]\ContactView.ascx   
error CS0117: 'System.Web.UI.Usercontrol' does not contain a definition for 'Name'

ContactViewというUserControlがあり、ContactFormという別のUserControlがあります。お問い合わせフォームは、Nameプロパティを持つものです(インラインで宣言され、.csファイルはありません)。エラーが親のUserControlにある理由、またはエラーが発生している理由がわかりません。

VS2008がコードをビルドおよびコンパイルすると、コードは正常に実行されるようです。

何か案は?

私はnantビルドスクリプトが私の2.0Webサイトで機能することを知っており、このWebサイトweb.configに3.5コンパイラを追加しました。足りないものはありますか?

編集:このエラーは、実際には、このユーザーコントロールと他のいくつかのプロパティのすべてのプロパティに表示されます。このエラーの単一のインスタンスが複数の障害を引き起こしているのか、それともすべてのユーザーコントロールが本当に無効なのかはわかりません。

更新:エラーはフレームワークのv3.5に関連している必要があります。これは、自動プロパティについても不平を言っているためです。バッキングフィールドを持つように切り替えると、機能します。

4

2 に答える 2

1

NAnt 0.86 Beta 1を使用するか、Palermoの修正を適用する必要があるようです。コマンドラインで-tオプションを使用して、適切なバージョンをターゲットにします。また、ビルドサーバーに.NET 3.5(およびおそらくSP1)がインストールされていることを確認する必要があります。

NAntからMSBuildは.slnファイルをサポートしているため、多くの場合、シェルアウトする方が簡単です。

于 2009-09-09T01:16:44.563 に答える
0

問題は、更新可能モードでWebサイトをコンパイルするときに、コードビハインドなしでユーザーコントロールのパブリックメソッド/プロパティを呼び出すことが許可されていないことであったようです。

コードが.csページに移動されると、機能しました。

于 2009-09-09T14:46:29.057 に答える