如何根据配置(和启动调试器)更改程序集名称

时间:2019-07-02 07:22:37

标签: c# visual-studio csproj

我有一个Visual Studio C#.exe项目,我在其中编辑了.csproj以根据生成配置定义不同的程序集名称:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ConfigADebug|AnyCPU'">
    <AssemblyName>MyNameA</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ConfigBDebug|AnyCPU'">
    <AssemblyName>MyNameB</AssemblyName>
</PropertyGroup>

这在编译期间工作正常,但是例如当我在IDE上从ConfigADebug更改为ConfigBDebug并开始调试时,我收到一条错误消息,指示未找到MyNameA.exe。但实际上,我正在调试MyNameB.exe

到目前为止,我发现的唯一解决方法(也在this thread中的注释中提到)是在更改配置后重新加载项目。

有什么方法可以不必重新加载项目吗?

1 个答案:

答案 0 :(得分:1)

我怀疑不是。

MSBuild和项目文件比Visual Studio IDE具有更大的灵活性。在项目文件中编辑的某些内容可以使用,但其他的则不行。

对于Core项目,您可以具有多个调试设置-可以指定其他启动可执行文件。您需要在目标平台旁边更改选定的调试配置。

使用Framework,您可以将配置设置链接到构建配置,以设置为启动外部程序。

(这是用于控制台项目,其他项目类型有所不同。)