如何将文件夹中的每个文件覆盖到VIsual Studio中的特定客户端代码

时间:2015-12-09 10:10:03

标签: visual-studio visual-studio-2012

好的,让我们试着解释一下我想要实现的目标。

我的项目中有一个文件夹结构,即

class Program
{
    static void Main(string[] args)
    {
        String[] strings = { new String() { Name = "1123", Rank = "a" }, new String() { Name = "3123", Rank = "x" }, new String() { Name = "3134311", Rank = "c" } };
        StringComparer comparer = new StringComparer();

        comparer.SortBy = StringComparer.CompareField.Name;
        Array.Sort(strings, comparer);

        foreach (String s in strings)
        {
            Console.WriteLine(s.Name);
        }
        comparer.SortBy = StringComparer.CompareField.Rank;
        Array.Sort(strings, comparer);

        foreach (String s in strings)
        {
            Console.WriteLine(s.Rank);
        }
    }
}

class String
{
    public string Name { get; set; }
    public string Rank { get; set; }
}

class StringComparer : IComparer<String>
{
    public enum CompareField
    {
        Name,
        Rank
    }

    public CompareField SortBy = CompareField.Name;

    public int Compare(String x, String y)
    {
        switch (SortBy)
        {
            case CompareField.Name:
                return x.Name.CompareTo(y.Name);
            case CompareField.Rank:
                return x.Name.CompareTo(y.Rank);
        }
        return x.Name.CompareTo(y.Name);
    }
}

当我构建项目时,我传递了一个密钥,说明要构建ClientOneOverride。我希望Visual Studio在Views目录中构建基本文件,然后使用CLientOneOverride文件夹内容覆盖它们。

因此,在此示例中,我希望VS构建Views -> Directory -----ClientOneOverride -> Directory ----------------------Home.cshtml -> File ----------------------About.cshtml -> File -----Home.cshtml -> File -----About.cshtml -> File -----Contact.cshtml -> File ,然后在ClientOneOverride目录中覆盖Home.cshtml, About.cshtml, Contact.cshtml,因为特定客户端的Home.cshtml and About.cshtml与{0}相同基础版。这有可能吗?

我想这样做是为了确保所有客户端的逻辑保持不变,但只是改变它们的前端。

***** UPDATE ******

我会尝试解释我想要实现的目标。

我有一个MVC项目,这个项目包含默认的文件夹结构,如

Contact.cshtml

我正在构建此项目的多个客户端,但正如您所知,每个客户端都有自己的网站应该是什么样子的想法。我不怪他们。

所以我想要做的是编写网站的基本版本,然后编写客户特定的部分,如下所示。

在我的Views文件夹中,我有一个名为Controllers Models View 的{​​{1}}文件,此视图是一个局部视图,只包含几个div和其他内容。此.cshtml文件是基本文件,因此每个客户端都具有此文件的外观。比如我的客户想要拥有自己的Index.cshtml文件的外观和感觉,我希望能够让他们自定义它。那么在Index.cshtml文件夹中我将使用客户名称创建另一个文件夹,让我们调用此客户端Index.cshtml

所以文件夹结构看起来像这样

Views

现在我要做的是以下内容。在我构建了基础之后,然后构建了每个客户端特定的外观实现方式,我只想ClientA他们的特定功能集。

因此,如果我正在为ClientA构建应用程序 - &gt;我首先希望所有基本文件都由Visual Studio构建,然后我希望Visual Studio运行Views ----This is the base folder -----ClientA ----Client specific folder inside the base folder ------------Index.cshtml ----Client specific file override -----Index.cshtml ----Base file if client does not want a custom override of the normal look and feel. 文件夹agian,然后如果它们是Build -- Visual Studio Build覆盖它应该替换基本文件覆盖文件。

所以在构建过程开始之前,我想指定应该在哪个客户端进行构建。

我希望有人关注我,并且有人确实理解我想要实现的目标。

我知道GULP的工作是可以实现的,但我想在Visual Studio中完成。

这甚至是远程可能吗?

0 个答案:

没有答案