Информация об изменениях

Сообщение Re: Как настроить сборку в VS2019 от 07.01.2021 21:13

Изменено 07.01.2021 21:14 Вертер

Re: Как настроить сборку в VS2019
K>Можно ли как-то объяснить студии, чтобы мои плагины вместе с их зависимостями при сборке автоматически раскладывались в каталог plugins\<plugin name> в каталоге со сборкой?

как написали ранее, в настройках проектов плагинов надо задать правильный output параметр.

для "старых" проектов:

<OutputPath>$(SolutionDir)\Output\$(Configuration)\$(Platform)\Plugins\$(RootNamespace)\</OutputPath>
<IntermediateOutputPath>$(SolutionDir)\Output\Temp\$(Configuration)-$(Platform)\$(RootNamespace)\</IntermediateOutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|win32'">...</>
...


для .NET 5 проектов:
common.pros файл:
<PropertyGroup>
    <SolutionDir Condition="'$(SolutionDir)' == ''">..\</SolutionDir>
    <MyAppRootDir>$(SolutionDir)..</MyAppRootDir>
    <MyAppOutputPath>$(MyAppRootDir)\output</MyAppOutputPath>
    <IntermediateOutputPath>$(MyAppOutputPath)\obj\$(Configuration)\$(AssemblyName)\</IntermediateOutputPath>
    <OutputPath>$(MyAppOutputPath)\$(Configuration)\</OutputPath>
    <PluginOutputPath>$(OutputPath)\Plugins\</PluginOutputPath>
</PropertyGroup>


В каждом проекте Plugin:

<Project Sdk="Microsoft.NET.Sdk">
    <Import Project="..\common.props" />
    <PropertyGroup>
        <OutputType>Library</OutputType>
    </PropertyGroup>
    <PropertyGroup>
    <OutputPath>$(PluginOutputPath)</OutputPath>
  </PropertyGroup>
  ...
</Project>
Re: Как настроить сборку в VS2019
K>Можно ли как-то объяснить студии, чтобы мои плагины вместе с их зависимостями при сборке автоматически раскладывались в каталог plugins\<plugin name> в каталоге со сборкой?

как написали ранее, в настройках проектов плагинов надо задать правильный output параметр.

для "старых" проектов:

<OutputPath>$(SolutionDir)\Output\$(Configuration)\$(Platform)\Plugins\$(RootNamespace)\</OutputPath>
<IntermediateOutputPath>$(SolutionDir)\Output\Temp\$(Configuration)-$(Platform)\$(RootNamespace)\</IntermediateOutputPath>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|win32'">...</>
...


для .NET 5 проектов:
common.pros файл:
<PropertyGroup>
    <SolutionDir Condition="'$(SolutionDir)' == ''">..\</SolutionDir>
    <MyAppRootDir>$(SolutionDir)..</MyAppRootDir>
    <MyAppOutputPath>$(MyAppRootDir)\output</MyAppOutputPath>
    <IntermediateOutputPath>$(MyAppOutputPath)\obj\$(Configuration)\$(AssemblyName)\</IntermediateOutputPath>
    <OutputPath>$(MyAppOutputPath)\$(Configuration)\</OutputPath>
    <PluginOutputPath>$(OutputPath)Plugins</PluginOutputPath>
</PropertyGroup>


В каждом проекте Plugin:

<Project Sdk="Microsoft.NET.Sdk">
    <Import Project="..\common.props" />
    <PropertyGroup>
        <OutputType>Library</OutputType>
    </PropertyGroup>
    <PropertyGroup>
    <OutputPath>$(PluginOutputPath)\$(AssemblyName)\</OutputPath>
  </PropertyGroup>
  ...
</Project>