2015-11-11 16 views
4

为什么我无法更改以下图像中显示的这些设置? CSProj Properties windows showing disabled configuration profile为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作为替代方案,但现在我想了解更多信息。

+0

您是否尝试过创建新项目并导入所有表单/代码? –

+0

不,我还没有,好奇你在用那种方法寻找什么。 – Oxymoron

+1

要知道您是否有影响禁用字段的配置 –

回答

1

这只是项目文件结构的可视化表示。 某些设置可以针对不同的配置具有不同的值。其他人只有一个值不依赖于配置。第一组的最好例子是Build选项卡中的设置。当然,您希望在发布版本中以不同的方式构建您的程序。所以配置组合已启用。

也可以使用文本编辑器在.csproj文件中查看,记事本也可以。请注意0​​元素,其中一些元素具有Condition属性,可以使它们用于特定配置。发布属性位于没有条件的PropertyGroup中。

因此,对于Publish选项卡中的设置,Microsoft决定不需要针对配置进行特定设置。如果你仔细考虑它,那么你只会发布你的发布版本。那么,通常。所以组合是禁用的。功能,而不是一个错误。

+0

我明白,在正常情况下,只有发布发布版本才有意义。但是,当您使用发布配置文件为不同阶段(例如开发,分期等)构建时,该怎么办?并且您使用clickOnce发布。 – Oxymoron

+0

你问“为什么这些选项被禁用”,我解释了它。你的工作流程不是微软预测的那个,应该有点明显。没有人这样做,这不是CO想要做的。谷歌“.net阿尔姆工具”取得成功。 –

+0

好吧,我只是好奇,为什么我会用控件嘲弄,好像有人在某个时候认为这是一个有效的用法,但后来决定反对它,虽然没有真正跟进,只是离开了控件被禁用......假设我们永远不会真的知道...... – Oxymoron