0

Visual Web Developer 2010 Express Edition Web アプリケーションがあります。は次のDefault.aspxように始まります:-

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MixedZone.Default"%>
<%@ Register assembly="ComponentArt.Web.UI"
             namespace="ComponentArt.Web.UI"
             tagprefix="ComponentArt" %>
<%@ Register TagPrefix="MixedZone"
             TagName="NumberInput"
             Src="Common/UserControls/NumberInput.ascx" %>

NumberInput.ascx は次のように始まります:-

<%@ Control Language="C#" AutoEventWireup="True" CodeBehind="NumberInput.ascx.cs" Inherits="MixedZone.UserControls.NumberInput" %>
<%@ Register assembly="ComponentArt.Web.UI" namespace="ComponentArt.Web.UI" tagprefix="ComponentArt" %>
<asp:Literal ID="Literal1" runat="server" Visible="False"></asp:Literal>
<ComponentArt:NumberInput ID="niNumberInput"
                          runat="server"
                          CssClass="valid"
                          ...etc

ここまでは順調ですね。しかし、このコードを別のディレクトリに移動したいと考えています。これを行い(csprojファイルを手動で編集)、それに応じてaspxおよびaspcファイルを変更します:-

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MixedZone.Default"%>
<%@ Register assembly="ComponentArt.Web.UI"
             namespace="ComponentArt.Web.UI"
             tagprefix="ComponentArt" %>
<%@ Register TagPrefix="MixedZone"
             TagName="NumberInput"
             Src="../MixedZone/Common/UserControls/NumberInput.ascx" %>

<%@ Control Language="C#" AutoEventWireup="True" CodeBehind="../MixedZone/Common/UserControls/NumberInput.ascx.cs" Inherits="MixedZone.UserControls.NumberInput" %>
<%@ Register assembly="ComponentArt.Web.UI" namespace="ComponentArt.Web.UI" tagprefix="ComponentArt" %>
<asp:Literal ID="Literal1" runat="server" Visible="False"></asp:Literal>
<ComponentArt:NumberInput ID="niNumberInput"
                          runat="server"
                          CssClass="valid"
                          ...etc

しかし、そうすると、 ComponentArt: は緑色の下線でマークされ、メッセージ

認識できないタグ プレフィックスまたはデバイス フィルター 'ComponentArt'

(結果として、約 500 のコンパイル エラーが表示されます)。ディレクトリ Common\UserControls は完全に移動され、他には何も変更されていません。問題が何であり、それに対して私が何をすべきかについて誰かが知っていますか?

4

1 に答える 1

0

この問題を回避するには、SubVersion を使用して古い場所にコードを含めましたが、実際にはそこにありませんでした。これは巧妙なトリックであり、将来のメンテナンスの罠のように見えるので、あまり好きではありません。ただし、プロジェクトの下にない場合はディレクトリがなく、そこに配置してもショートカットに従いません。

于 2012-07-26T09:26:44.100 に答える