Как установить все проекты в решении, чтобы скопировать локальный ложный
Есть ли быстрый способ пометить все ссылки на проекты решения как Локальное копирование? есть какой-то инструмент, который это делает? это довольно грязно, чтобы отметить около 200 проектов вручную
3 ответа
Вы можете использовать xsl для преобразования файла проекта, чтобы добавить False (это то, что делает локальная копия false)
Вот пример файла xsl t
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cs="http://schemas.microsoft.com/developer/msbuild/2003"
exclude-result-prefixes="cs">
<xsl:output method="xml" indent="yes" />
<xsl:strip-space elements="*"/>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates select="@*|*|text()|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="cs:Project/cs:ItemGroup/cs:Reference">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
<xsl:if test="not(./cs:Private)">
<Private>False</Private>
</xsl:if>
</xsl:copy>
</xsl:template>
<xsl:template match="@*| text() | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
У меня есть хитрый способ сделать это, но это всегда вручную
Предположим, у вас есть два проекта
Вытащите все ваши ссылки, нажмите Shift и выберите вашу первую ссылку, затем продолжайте удерживать Shift и выберите последнюю ссылку вашего первого проекта
Отпустите кнопку Shift, нажмите кнопку Ctrl и выберите первую ссылку вашего второго проекта, затем одновременно нажмите клавиши Ctrl и Shift и выберите последнюю ссылку второго проекта
Должно быть так:
Наконец, вы можете установить Локальное свойство Копировать для всех выбранных вами ссылок.
IDE: VS2013 французский
Да, есть очень простой и быстрый способ, начиная с msbuild v 15. Вы можете скопировать один файл с именем Directory.Build.props в корневую папку, содержащую ваш источник:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Reference>
<Private>False</Private>
</Reference>
</ItemDefinitionGroup>
</Project>
Больше нечего делать! Больше информации смотрите /questions/42466585/ustanovit-kopirovat-lokalnyij-v-lozh-po-umolchaniyu/42466600#42466600