c# – 为csproj禁用发布配置

为什么我无法更改下图中显示的这些设置?

《c# – 为csproj禁用发布配置》

这是一个clickOnce应用程序,我的问题是我想通过发布路径,程序集名称,产品名称,安装URL进行更改,并根据构建配置执行一些app.config转换.我可以通过手动编辑csproj来实现这一点

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <AssemblyName>someApplicationTest</AssemblyName>
    <ProductName>Some Application Test</ProductName>
    <PublishUrl>c:\publish\someApplicationTest\</PublishUrl>
    <InstallUrl>http://sub.example.com/someApplicationTest/</InstallUrl>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <AssemblyName>someApplication</AssemblyName>
    <ProductName>Some Application</ProductName>
    <PublishUrl>c:\publish\someApplication\</PublishUrl>
    <InstallUrl>http://sub.example.com/someApplication/</InstallUrl>
</PropertyGroup>

我很困惑为什么在visual studio中禁用这些选项以及我是否遗漏了某些东西.也许我很困惑,这些控制甚至不是为了这个目的.

此外,我将在稍后调查Squirrel.Windows,但现在我想了解更多相关信息.

最佳答案 这只是项目文件结构的直观表示.某些设置可以针对不同的配置具有不同的值.其他人只有一个不依赖于配置的值.第一组的最佳示例是“构建”选项卡中的设置.当然,您希望在发布版本中以不同方式构建程序.因此启用了配置组合.

还可以看一下带有文本编辑器的.csproj文件,Notepad会做得很好.请注意< PropertyGroup>有些元素有一个Condition属性,可以为特定配置启用它们.发布属性位于PropertyGroup中,没有条件.

因此,对于“发布”选项卡中的设置,Microsoft决定不必进行特定于配置的设置.如果您考虑一下这是有意义的,您只需发布您的发布版本.好吧,通常.因此组合被禁用.功能,而不是错误.

点赞