gpt4 book ai didi

c# - 根据项目配置更改 csproj OutputType

转载 作者:太空狗 更新时间:2023-10-29 20:14:37 25 4
gpt4 key购买 nike

我需要根据项目的配置将 C# 项目构建为 WinExe 或库。

我已经尝试了这两种方法,但都没有成功:

1) 在一般的 PropertyGroup 中:

<OutputType Condition=" '$(Configuration)' == 'Release' ">WinExe</OutputType>
<OutputType Condition=" '$(Configuration)' == 'Debug' ">Library</OutputType>

2) 在有条件的 PropertyGroup 中:

<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputType>WinExe</OutputType>
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputType>Library</OutputType>
</PropertyGroup>

这些方法都不起作用,OutputType 始终是 WinExe。奇怪的是,如果我将 WinExe 的所有实例都更改为 Library,那么它始终是 Library。这让我认为它正在成功读取它们,但要么以奇怪的顺序读取,要么 WinExe 优先于库。

有什么想法吗?

最佳答案

在 .csproj 文件的顶部,您将有两个看起来有点像这样的部分:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputType>Library</OutputType>
<!-- Other properties go here -->
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputType>Exe</OutputType>
<!-- Other properties go here -->
</PropertyGroup>

OutputType 元素添加到这两个条件 PropertyGroup 部分,并确保删除所有其他 OutputType 元素 - 我刚刚测试过它完全符合您的要求。

是的,这与您已经完成的非常相似,但我知道上述方法有效,因为我刚刚尝试过 - 我唯一的猜测是您构建中的其他地方搞砸了。

关于c# - 根据项目配置更改 csproj OutputType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6866554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com