Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何在Visual Studio中控制C#项目的输出文件夹? (当前工作在VS 2019)中,有大量的构建宏可以在C++项目中使用,这可以根据所选择的配置来控制哪些文件夹编译的文件被存储。因此,我可以为每个客户提供单独的配置。默认情况下,输出文件夹由$(SolutionDir)$(配置)提供。因此,我的CAPS项目可以将Release Algoma项目的输出存储在CAPS/Release Algoma中,而US Steel的构建可以将其文件存储在CAPS/Release US Steel中。当我添加客户配置时,我不必更改任何内容,我的文件会自动存储在我想要的位置_Visual Studio_Visual Studio 2019 - Fatal编程技术网

Visual studio 如何在Visual Studio中控制C#项目的输出文件夹? (当前工作在VS 2019)中,有大量的构建宏可以在C++项目中使用,这可以根据所选择的配置来控制哪些文件夹编译的文件被存储。因此,我可以为每个客户提供单独的配置。默认情况下,输出文件夹由$(SolutionDir)$(配置)提供。因此,我的CAPS项目可以将Release Algoma项目的输出存储在CAPS/Release Algoma中,而US Steel的构建可以将其文件存储在CAPS/Release US Steel中。当我添加客户配置时,我不必更改任何内容,我的文件会自动存储在我想要的位置

Visual studio 如何在Visual Studio中控制C#项目的输出文件夹? (当前工作在VS 2019)中,有大量的构建宏可以在C++项目中使用,这可以根据所选择的配置来控制哪些文件夹编译的文件被存储。因此,我可以为每个客户提供单独的配置。默认情况下,输出文件夹由$(SolutionDir)$(配置)提供。因此,我的CAPS项目可以将Release Algoma项目的输出存储在CAPS/Release Algoma中,而US Steel的构建可以将其文件存储在CAPS/Release US Steel中。当我添加客户配置时,我不必更改任何内容,我的文件会自动存储在我想要的位置,visual-studio,visual-studio-2019,Visual Studio,Visual Studio 2019,在C#中,我没有那些构建宏。如果向解决方案中添加新配置,我必须进入解决方案中的每个项目并更改输出文件夹。我是否有可用于C#项目的构建宏,或者是否有其他方法根据配置控制输出文件夹?这就是您要找的吗?在“项目属性”、“生成事件”、“编辑生成后”中,此命令应执行以下操作: xcopy“$(TargetDir)”“$(TargetDir)$(ConfigurationName)\”/Y/I 您可能需要适应您的确切需要,过滤文件等 这就是你要找的吗?在“项目属性”、“生成事件”、“编辑生成后”中,此命令应

在C#中,我没有那些构建宏。如果向解决方案中添加新配置,我必须进入解决方案中的每个项目并更改输出文件夹。我是否有可用于C#项目的构建宏,或者是否有其他方法根据配置控制输出文件夹?

这就是您要找的吗?在“项目属性”、“生成事件”、“编辑生成后”中,此命令应执行以下操作:

xcopy“$(TargetDir)”“$(TargetDir)$(ConfigurationName)\”/Y/I

您可能需要适应您的确切需要,过滤文件等


这就是你要找的吗?在“项目属性”、“生成事件”、“编辑生成后”中,此命令应执行以下操作:

xcopy“$(TargetDir)”“$(TargetDir)$(ConfigurationName)\”/Y/I

您可能需要适应您的确切需要,过滤文件等


通过设置
$(OutputPath)
变量,可以在项目文件或其他MSBuild目标文件中指定输出目录

您可以有条件地执行此操作:

<PropertyGroup Condition="'$(SomeCondition)'=='foo'>
  <OutputPath>foo\whatever\...</OutputPath>
</PropertyGroup>
<!-- or set the condition on the property -->
<PropertyGroup>
  <OutputPath Condition="'$(SomeCondition)'=='foo'>foo\whatever\...</OutputPath>
  <OutputPath Condition="'$(SomeCondition)'==''>default\whatever\...</OutputPath>
</PropertyGroup>

通过设置
$(OutputPath)
变量,可以在项目文件或其他MSBuild目标文件中指定输出目录

您可以有条件地执行此操作:

<PropertyGroup Condition="'$(SomeCondition)'=='foo'>
  <OutputPath>foo\whatever\...</OutputPath>
</PropertyGroup>
<!-- or set the condition on the property -->
<PropertyGroup>
  <OutputPath Condition="'$(SomeCondition)'=='foo'>foo\whatever\...</OutputPath>
  <OutputPath Condition="'$(SomeCondition)'==''>default\whatever\...</OutputPath>
</PropertyGroup>

在C#。。。如果向解决方案中添加新配置,我必须进入解决方案中的每个项目并更改输出文件夹

如果您使用较新的SDK样式
.csproj
项目文件,则输出文件夹将自动构建,并根据需要考虑配置、平台和目标框架。你能升级你的
.csproj
文件吗


下面是一个“遗留”(非SDK样式)
.csproj
文件的片段:


bin\Debug\
bin\Release\
请注意,它是如何明确列出每个配置的
OutputPath
?添加新的解决方案配置时,必须在每个
.csproj
文件中手动添加该配置

对于SDK样式的项目,等效的
.csproj
文件如下所示:


网络472
Sdk
属性从Sdk中引入一系列MSBuild道具/目标,它们根据与项目相关的
配置
平台
目标框架
属性为您计算
输出路径

在C#。。。如果向解决方案中添加新配置,我必须进入解决方案中的每个项目并更改输出文件夹

如果您使用较新的SDK样式
.csproj
项目文件,则输出文件夹将自动构建,并根据需要考虑配置、平台和目标框架。你能升级你的
.csproj
文件吗


下面是一个“遗留”(非SDK样式)
.csproj
文件的片段:


bin\Debug\
bin\Release\
请注意,它是如何明确列出每个配置的
OutputPath
?添加新的解决方案配置时,必须在每个
.csproj
文件中手动添加该配置

对于SDK样式的项目,等效的
.csproj
文件如下所示:


网络472

Sdk
属性从Sdk中引入一组MSBuild道具/目标,它们根据
配置为您计算
OutputPath
Platforms
TargetFrameworks
与项目相关的属性。

最好将项目配置为直接构建到您想要的位置。使用这样的生成后事件会使生成速度变慢。@DrewNoakes您能否在回答中解释一下如何在VS中执行此操作(例如,它是否链接到您所针对的.NET framework版本)?我已扩展了我的回答。如果需要不同的行为,还可以通过
.csproj
文件中的
OutputPath
属性显式覆盖输出路径。最好将项目配置为直接构建到您希望的位置。使用这样的生成后事件会使生成速度变慢。@DrewNoakes您能否在回答中解释一下如何在VS中执行此操作(例如,它是否链接到您所针对的.NET framework版本)?我已扩展了我的回答。如果需要不同的行为,还可以通过
.csproj
文件中的
OutputPath
属性显式覆盖输出路径。