Хранение файлов, доступных для разных проектов в решении .NET - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть одно решение с 2 проектами .NET MVC и некоторыми проектами библиотек классов.Также у меня есть несколько XML-файлов.Мне нужно поместить эти XML-файлы в одном месте и иметь доступ к ним из этих 2 .NET MVC проектов.Эти файлы также должны быть опубликованы.Могу ли я создать папку App_Data в проекте библиотеки классов, поместить туда эти xml-файлы и использовать их?Или папка App_Data, связанная только с проектами .NET MVC?

Как мне решить мою проблему?

Ответы [ 3 ]

0 голосов
/ 28 февраля 2019

Это немного зависит от того, как вы планируете использовать свои XML-файлы, но если я вас правильно понимаю, вы просто хотите, чтобы файл был опубликован в выходном каталоге, это будет означать, что он будет доступен для любых библиотек / проектов, которые

Таким образом, если вы поместите свою библиотеку xml в общий проект, который, как вы говорите, у вас есть, вы можете отредактировать свойства этого файла XML и установить, например, для параметра «Создать действие для содержимого» или «Копировать в выходной каталог» значение «Всегда» (в зависимости ото том, как вы делаете публикацию, она, вероятно, будет вести себя немного по-разному).

Тогда этот файл должен появиться в обеих папках с корзинами.

В качестве альтернативы, если это не работает, вы можете создать ярлык дляодин и тот же файл из обоих проектов.Вы можете сделать это, нажав «добавить существующий элемент», затем нажать треугольник рядом с кнопкой Add и в меню вы можете выбрать add as a link

0 голосов
/ 28 февраля 2019

Шаг 1. Создайте общую папку (которая не входит в ваши проекты) и скопируйте туда все общие файлы. Шаг 2. Измените файл .csproj и опишите действие перед сборкой, которое просто скопирует все необходимые файлы из общей папки в ваш проект.Примерно так:

<Target Name="CodeAnalysisRuleset" BeforeTargets="PreBuildEvent" Condition="$(ConfigurationName) == Debug">
    <Exec Command="xcopy /Y &quot;$(SolutionDir)\SharedCodingRules\codeAnalysis.ruleset&quot; &quot;$(ProjectDir)&quot;" />
</Target>

Шаг 3. Явно включить новые файлы в ваш проект (снова измените ваш файл .csproj)

<ItemGroup>
  <Content Remove="stylecop.json" />
</ItemGroup>

<ItemGroup>
  <AdditionalFiles Include="stylecop.json" />
</ItemGroup>

После этих 3 шаговвы сможете использовать общие файлы (конфигурации, наборы правил и т. д.) в разных проектах.

0 голосов
/ 20 февраля 2019

Если ваши два проекта MVC размещены на одном сервере, вы можете хранить эти xml-файлы в любом месте.

Добавив ключ appSetting для сохранения физического пути к папке этих xml-файлов в файл web.configдля этих двух проектов MVC.

Тогда ваша программа просто прочитает эти файлы, получив путь из файла web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...