【问题标题】:Post build copy config file to another project将构建副本配置文件发布到另一个项目
【发布时间】:2011-01-16 11:28:57
【问题描述】:

我有一个包含网站和各种类库的解决方案。文件系统上的存在如下:

C:\Projects \MyWebsite\dev\MyWebsite.sln  
C:\Projects\Core\MyClassLibrary1.csproj  
C:\Projects\Core\MyClassLibrary2.csproj

我想将 App.config 文件从 MyClassLibrary1 项目移动到 MyClassLibrary2 的 bin。如果可能,我想在 VS 或 MSBuild 中使用相对路径进行后期构建。这样,任何签出项目的人都无需修改任何路径,如果他们选择将项目定位在不同的位置。

我已经尝试了以下方法,但无济于事。

copy /Y "$(ProjectDir)App.config"  
$(ProjectDir)\..\ MyClassLibrary2\$(OutDir)\ MyClassLibrary2.dll.config"

有什么想法吗?

谢谢

【问题讨论】:

    标签: c# asp.net visual-studio visual-studio-2008 build-process


    【解决方案1】:

    考虑使用 Visual Studio Add As Link 在您的第二个类库中添加 App.config 文件。

    添加 -> 现有项目 -> 添加为链接

    如果您单击 Visual Studio 中常规添加按钮旁边的下拉菜单,则会显示 Add As Link 命令。这样您就可以在多个项目中重复使用该文件。

    【讨论】:

    • 谢谢,但正如您在我的示例中看到的那样,当我复制文件时,我需要重命名文件,以便 MyClassLibrary2 可以拾取它。不确定链接是否会重命名。因此,我目前的做法。
    • Visual Studio 将在构建时为每个项目重命名 App.config。链接文件在构建之前已解析,因此您将获得预期的输出。自己试试吧,只需几秒钟。
    • 工作就像一个魅力!感谢那。没想到VS会重命名。
    【解决方案2】:

    试试其他common MSBuild properties,尽管我认为 João 有更好的建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 2019-09-14
      • 2013-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多