2014-10-15 4 views
0

В нашем проекте в нескольких местах мы используем System.Web.Mvc.MvcHtmlString. После того, как я добавил ссылку на ServiceStack сборки я получил ошибку компиляции:Почему ServiceStack MvcHtmlString не имеет пространства имен

Cannot convert expression type System.Web.Mvc.MvcHtmlString to return type MvcHtmlString

Столкновения между System.Web.Mvc.MvcHtmlString и MvcHtmlString в ServiceStack. В ServiceStack этот класс не имеет пространства имен, как вы можете видеть в нижеследующем коде или на github

Есть ли веская причина для этого? Неужели этот класс находится в пространстве имен ServiceStack.Html? Пространство имен было удалено в last commit.

Есть ли способ обхода? Я должен был префикс всех вхождений MvcHtmlString с префиксом пространства имен System.Web.Mvc.

using System; 
using System.Diagnostics.CodeAnalysis; 
using System.Web; 

public sealed class MvcHtmlString : HtmlString 
{ 
    private readonly string _value; 

    public MvcHtmlString(string value) 
     : base(value ?? String.Empty) 
    { 
     _value = value ?? String.Empty; 
    } 

    [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes", Justification = "MvcHtmlString is immutable")] 
    public static readonly MvcHtmlString Empty = Create(String.Empty); 

    public static MvcHtmlString Create(string value) 
    { 
     return new MvcHtmlString(value); 
    } 

    public static bool IsNullOrEmpty(MvcHtmlString value) 
    { 
     return (value == null || value._value.Length == 0); 
    } 
} 
+0

это звучит как-то, на что вы должны быть обращены на сайте кортикального кода –

ответ

0

Это коммитирование, как представляется, было неверно возвращено в глобальное пространство имен. Он был реорганизован в пространство имен ServiceStack.Htmlin this commit.

Это изменение доступно на основе v4.0.33 +, которое теперь available on MyGet.

Смежные вопросы