这是一个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,但现在我想了解更多相关信息。
答案 0 :(得分:1)
这只是项目文件结构的直观表示。 某些设置可以针对不同的配置使用不同的值。其他人只有一个值不依赖于配置。第一组的最佳示例是“构建”选项卡中的设置。当然,您希望在发布版本中以不同方式构建程序。因此,配置组合已启用。
还可以看看带有文本编辑器的.csproj文件,Notepad会做得很好。请注意<PropertyGroup>
元素,其中一些元素具有Condition
属性,可以为特定配置启用它们。发布属性位于PropertyGroup中,没有条件。
因此,对于“发布”选项卡中的设置,Microsoft决定不必进行特定于配置的设置。如果您考虑一下这是有道理的,您只会发布您的发布版本。好吧,通常。因此组合被禁用。功能,而不是错误。