将应用程序配置文件添加到Visual Studio中的.Net项目时,它将被命名app.config并将重命名(在构建时)ApplicationName.config.
我有大约40个项目的解决方案.我想在其中的一些中添加log4net功能.因此,对于每个项目,我都会添加一个文件app.log4net.然后我会声明一个这样的post-build事件:
copy $(ProjectDir)app.log4net $(TargetPath).log4net
Run Code Online (Sandbox Code Playgroud)
这很好用.但我想知道是否有一种内置的方法来实现相同的,没有明确的后期构建事件.
编辑:虽然我喜欢JaredPar和Simon Mourier提出的两种解决方案,但他们并不提供我所希望的.拥有自定义工具或MsBuild规则使得它不那么透明(对于项目中的其他程序员)或者至少比使用我当前使用的后期构建事件更复杂.不过,我觉得MsBuild是 解决类似问题的正确方法.
.net msbuild visual-studio-2010 post-build-event visual-studio
我正在使用MSBuild如下任务:
<MSBuild Projects="Foo.csproj">
<Output TaskParameter="TargetOutputs" ItemName="FilesToDeploy" />
</MSBuild>
Run Code Online (Sandbox Code Playgroud)
但是,FilesToDeploy项目组仅包含项目文件生成的.EXE文件; 它不包含该Foo.exe.config文件.
另一个问题:谁将App.config复制到App.exe.config?解释了MSBuild究竟如何查找/复制配置文件,但我无法弄清楚如何实际获取该名称.
我在其他地方发现了类似的问题,但没有答案.
我该如何解决这个问题?
我正在构建一个WPF应用程序.我正在使用Visual Studio社区2015.为了创建"真正的"发布版本,我正在更改一些构建设置,因此它只生成将安装在用户计算机上的必要文件.所以没有vshost exe,没有生成的XML文件等等(但我保留了PDB文件生成).
除了一个文件,我拥有我想要的一切.我在每个项目中都有一个App.config文件.我不介意将其复制到我的调试版本的输出目录中,但在我的"真正"版本构建中,我不希望它存在.
该文件已在其属性中设置为"不复制".见下图:
尽管有"不要复制"设置,但我仍然会在每次构建项目时生成"MyAppName.exe.config"文件.为什么会这样?我怎么能把它关掉?这很烦人.
谢谢你的建议!