【发布时间】:2016-10-19 05:02:21
【问题描述】:
我有带有 Visual Studio 2010 的 C# 应用程序。我想要每个配置的程序集名称。也就是说,我需要不同的程序集名称来进行调试和发布配置。所以我编辑了我的 csproj 如下。
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<...>
<...>
</PropertyGroup>
<Choose>
<When Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<PropertyGroup>
<AssemblyName>MyApplication</AssemblyName>
</PropertyGroup>
</When>
<When Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<PropertyGroup>
<AssemblyName>MyApplicationd</AssemblyName>
</PropertyGroup>
</When>
</Choose>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<...>
<OutputPath>..\..\..\..\utils\debug\Project\x64\</OutputPath>
<...>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<...>
<OutputPath>..\..\..\..\utils\release\Project\x64\</OutputPath>
<...>
</PropertyGroup>
</Project>
构建成功,我获得了用于发布配置的 MyApplication.exe 和用于调试配置的 MyApplicationd.exe。但是当我 F5/F10 在调试模式下运行项目时,我遇到了错误。
Visual Studio 无法启动调试,因为调试目标是 失踪。请构建项目并重试,或设置 OutputPath 和 AssemblyName 属性适当地指向正确的位置 用于目标程序集。
我该如何解决这个问题?如何根据项目文件中的配置指定不同的程序集名称?
【问题讨论】:
-
检查构建菜单下的构建配置管理器,您是否为您的项目启用了构建选项?或者您使用 AssemblyConfiguration 属性:stackoverflow.com/questions/1093338/…
-
@Jack Zhai:构建成功。问题是,我无法在调试模式下进行调试。它告诉未找到“MyApplication.exe”(即调试器尝试使用错误的 AssemblyName 启动程序集)。但可以在 Release 模式下调试。
标签: c# .net winforms .net-assembly visual-studio-debugging