簡體   English   中英

命名空間沖突

[英]namespace conflict

我有:

using System.Diagnostics;
using System.Reflection;

namespace Site
{
    public abstract class General
    {

        private static string _version;

        public static string Version { get { return _version; } }

        static General()
        {
            Assembly assembly = Assembly.GetExecutingAssembly();
            FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);
            _version = fileVersionInfo.ProductVersion;
        }

    }
}

該代碼工作正常,我可以在需要訪問Site.General.Version任何位置獲取該版本。 現在,我嘗試使用內聯標簽<% = Site.General.Version %>但收到一條錯誤消息,提示System.ComponentModel.ISite不包含定義或“常規”。...我認為由於接口 ISite名稱空間發生沖突。

我該如何解決?

我強烈建議更改名稱空間或類的名稱。 有時您可以使它正常工作,但這會再次咬住您。 而且編譯器錯誤非常無濟於事,這特別糟糕,因為這會困擾您重構,重構通常與編寫代碼的時間不同。 我從經驗上講-好主意。

嘗試將其添加到aspx的頂部

 <%@ Import Namespace="Site" %> 

然后像這樣更改代碼

 <%= General.Version %>

編輯

這是對web.config上所有頁面執行的語法

<system.web>
      <pages>
           <namespaces>
                <add namespace="Site" />
           </namespaces>
      </pages>
</system.web>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM