1

Я использовал CodeDom для создания класса так называемого «Product.cs», мой класс был сгенерирован по правому пути, но мой код не работает идеально и полностью из-за этого " Product.cs "исключается из моего решения, и я должен включить его в время выполнения Я искал и нашел способ создать csc.exe и загрузить сборку, чтобы скомпилировать мой класс во время выполнения и включить его в мое решение и после что я могу работать над «Product.cs».Скомпилировать во время выполнения исключить класс, который генерируется CodeDom

Я пишу код Visual Studio 2013 на веб-приложении, таком как MVC. Благодарим вас за помощь.

+0

Вы пытались отредактировать файл проекта, который является просто файлом xml, добавив ваши сгенерированные файлы? Также проверьте это: https: //msdn.microsoft.build.buildengine.aspx –

ответ

1

Это будет работать на yoy, просто попробовал посмотреть мои комментарии . Если вы хотите включить файлы классов, просто отредактируйте файл проекта, это xml-файл, который вы можете легко сделать. Чтобы узнать тег plz, открыть файл проекта в блокноте, а затем использовать msbuild или что вы хотите создать проект ur. - Если вы хотите создать и создать проект, смотрите отражение. Также проверьте следующее: http://www.codeproject.com/Articles/10324/Compiling-code-during-runtime

1

Чтобы включить файл исключений, особенно, когда он создается с помощью методов генерации кода, такие как CodeDom или EnvDTE и т.д., должны следовать:

  1. Щелкните правой кнопкой мыши на Ссылки на решение
  2. Выберите сборки -> Microsoft.Build
  3. Написать такой код:

    var p = new Microsoft.Build.Evaluation.Project(@"D:\MVCNHibernate\MVCNHibernate\MVCNHibernate.csproj"); 
    p.AddItem("Compile", @"D:\MVCNHibernate\MVCNHibernate\Entities\Product.cs"); 
    p.Save(); 
    p.Build();

Тогда «Product.cs» будет вашим включенным файлом на проект или решение, и его можно использовать.

+0

Как вы сказали выше, это правильное решение вашей проблемы. Тогда, я считаю, вы должны отметить выше как принятый ответ. –

+2

Большое спасибо Гаураву за ваш ответ, он дал мне правильный ключ к достижению моего пути. –

+0

Его хороший опыт для этого исследования, и я многое узнал из вашего вопроса. Не нужно благодарить, вас всегда приветствуют! Не стесняйтесь спрашивать что-нибудь здесь. Удачи. –

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