如何在 Visual Studio 解决方案中拥有“可选”文件?

杰斯

我正在尝试使用 NConfig 将可选的每个开发人员配置设置添加到我的解决方案中。我告诉 NConfigConfig\Custom.config用作它的覆盖文件。但是,我希望这是可选的因此,如果该文件不存在,它将回退到使用Web.config.

NConfig 可以处理这个问题,但问题是如果文件不存在,解决方案就不会构建。我需要让 Visual Studio 将文件复制到输出目录,以便 NConfig 可以看到它,但是如果我将文件引用添加到解决方案并将“构建操作”设置为“始终复制”或“如果更新则复制”,我会得到一个如果文件系统上不存在该文件,则出错。

如何在我的解决方案中拥有一个“可选”文件,它可能存在也可能不存在,如果存在,它将文件复制到输出目录?

马克·本宁菲尔德

通过将宏用于构建事件,您可以根据解决方案的当前路径结构指定源和目标的路径:

在构建后事件中,使用以下脚本:

if exist "$(ProjectDir)"Custom.config xcopy "$(ProjectDir)"Custom.config "$(TargetDir)Config\" /y

请注意宏标记周围的引号。如果您的目录结构包含空格,引号将说明它们。此脚本会将文件复制到解决方案当前输出目录中的“Config”子文件夹(如果该文件夹不存在,则创建该文件夹)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Linux下构建Visual Studio解决方案?

如何在TFS中使Visual Studio中的解决方案恢复在线状态?

如何强制在Visual Studio 2013中打开解决方案文件(SLN)?

您如何在Visual Studio中的项目/解决方案之间共享代码?

Visual Studio 2013:如何在解决方案资源管理器中显示活动文件?

如何在Visual Studio 2013解决方案资源管理器中获取文件路径?

在Visual Studio外部更改文件时,如何更新TFS中的解决方案文件?

如何在Visual Studio中更改整个解决方案的项目名称?

在Visual Studio扩展中,如何响应“打开文件夹”以及“打开解决方案”?

Visual Studio 2017:如何在解决方案文件夹中包含NuGet包

如何为Visual Studio中的解决方案动态创建解决方案文件夹?

如何在Visual Studio解决方案中升级CUDA版本?

Visual Studio扩展:如何在选择时获取解决方案文件夹的“路径”?

如何在Visual Studio解决方案中将特定文件添加到.gitignore?

如何在Visual Studio 2019中从其他解决方案链接`.lib`库?

如何为所有解决方案将EditorConfig文件导入Visual Studio?

如何在Visual Studio 2019中更新.sln(解决方案)文件

如何在Visual Studio 2019的Github解决方案中将不同文件夹中的项目推送或上载?

如何在Visual Studio的解决方案资源管理器中添加文件?

如何在Microsoft Visual Studio 2012中制作项目/解决方案的副本?

如何在Visual Studio 2010中更改解决方案属性?

如何在Visual Studio解决方案中取消删除文件

如何在Visual Studio 2013解决方案中删除最近打开的文件

如何在Visual Studio 2013解决方案中删除最近打开的文件

如何在Visual Studio中的解决方案中添加对组件的引用

如何从 Visual Studio 中的项目解决方案中删除其他构建文件

如何在 Visual Studio Mac for Unity 解决方案中避免 CS1591 警告?

如何在 Visual Studio 2017 中保存解决方案

如何在 Visual Studio 中为不属于解决方案的 Python 文件管理 Python 搜索路径或引用?

TOP 榜单

热门标签

归档