gpt4 book ai didi

c# - 根据配置使用不同的 assemblyNames 在 Visual Studio 2019 中进行调试

转载 作者:行者123 更新时间:2023-12-05 05:55:12 25 4
gpt4 key购买 nike

我继承了一个相当复杂的解决方案的维护,该解决方案根据 #define 标志更改其功能。然后根据需要在不同的构建配置中设置这些标志。代码是用 C# 编写的,改编自早期的 C++ 解决方案,目前首选完全重写代码,但不可行。

在我来之前,我的同事们不得不在项目的属性窗口中手动分配程序集名称和图标。由于我很懒惰并且喜欢尽可能少地做一些愚蠢的工作,所以我只是根据 .vcproj 文件中的事件配置定义了各种名称,如下所示:

    <AssemblyName Condition="'$(Configuration)' == 'Debug' ">DevelopmentManager</AssemblyName>
<AssemblyName Condition="'$(Configuration)' == 'Release' ">DevelopmentManager</AssemblyName>
<AssemblyName Condition="'$(Configuration)' == 'Service Release'">ServiceManager</AssemblyName>
<AssemblyName Condition="'$(Configuration)' == 'Service Debug'">ServiceManager</AssemblyName>
<AssemblyName Condition="'$(Configuration)' == 'SERVICE_LIGHT DEBUG'">ServiceLoader</AssemblyName>
<AssemblyName Condition="'$(Configuration)' == 'Service Light Release'">ServiceLoader</AssemblyName>

(图标遵循相同的逻辑)。

一切都按预期工作,每个配置都使用自己特定的名称构建,但我仍然有一个问题:

在 vcproj 中,我没有设置通用程序集名称或图标,假设它会根据需要选择正确的名称,但是当我尝试调试应用程序时,有时 VS2019 会尝试获取错误的文件名。 IE。如果我正在调试应该构建到 ServiceManager.exe 中的 Service Debug 配置,VS 会查找 DevelopmentManager.exe(或另一个,这不是重点。我假设它以某种方式采用了最后构建的或类似的东西),如果我转到属性窗口,我可以看到程序集名称确实是 DevelopmentManager。

那么,简而言之,我如何告诉 visual studio “请使用正确的程序集名称调试我的应用程序”,而无需在项目文件属性窗口中手动更改它? p>

最佳答案

目前解决方案是 Hans Passant 发布的解决方案:选择所需的配置,关闭并重新启动 VS2019,一切正常。

我没有可用的 VS2022 安装,所以我不知道这是否仍然适用于新版本。

关于c# - 根据配置使用不同的 assemblyNames 在 Visual Studio 2019 中进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69492347/

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