此问题与我尝试发布的clickonce项目有关。
基本上,我希望有一个针对每个测试环境进行发布的目标运行,以便我可以相应地设置publishurl和publishdir。
构建项目时,我希望能够在不使用DefaultTargets或将其作为msbuild参数添加的情况下调用此新目标。如果没有这些步骤,我怎么能打电话给某个目标?
例: 您可以从另一个目标调用目标,例如:
<Target Name="ClientPublish">
<CallTarget Targets="PublishForEachEnv" />
</Target>
但是我如何直接从csproj调用PublishForEachEnv目标?
希望这是有道理的
答案 0 :(得分:0)
我不太确定你的意思,但我会对它采取行动。
要编辑csproj,请在解决方案资源管理器中右键单击它,然后选择卸载项目。然后,一旦它在解决方案资源管理器中变为灰色且不可用,再次右键单击它并选择编辑[您的项目名称] 。
该文件是XML格式,您可以在那里进行排序。如果你向下看,你会看到一些目标文件导入,你也应该看到每个用于BeforeBuild和AfterBuild的空目标。您可以在此处将调用添加到自定义目标,AfterBuild可能最适合您。您可以将自定义目标内嵌到csproj或导入文件中。
您必须返回解决方案资源管理器,右键单击项目并选择重新加载项目以使更改生效。
此外还有另一种选择:添加一个post build事件,将您感兴趣的值打印到构建输出窗口:
因此,这意味着解决方案资源管理器,右键单击项目,选择属性,构建事件,然后编辑后构建。
您应该可以通过输入
来获得所需内容echo&#34;我的发布网址是:&#39; $(PublishUrl)&#39; &#34;
请注意,您在宏列表中无法使用PublishUrl
,但您仍然可以通过手动输入来使用它 - 该列表只包含常用宏。