首页 > 编程语言 >如何在 C# 项目中链接一个文件夹下的所有文件

如何在 C# 项目中链接一个文件夹下的所有文件

时间:2023-02-07 15:22:37浏览次数:52  
标签:文件 项目 C# 我们 文件夹 https 引入 链接

在 C# 项目中通过链接方式引入文件可以让我们在项目中使用这些文件中的代码。常见的比如链接 AssemblyInfo.cs 文件,这样我们就可以在项目中使用这个文件中的版本号等信息。但是如果我们想要链接一个文件夹下的所有文件,该怎么做呢?今天我们就来看看如何在 C# 项目中链接一个文件夹下的所有文件。

编辑项目文件引入单个文件

在项目文件中,我们可以通过 Compile 标签来引入单个文件。比如我们想要引入 AssemblyInfo.cs 文件,我们可以这样做:

  <Project>
  <ItemGroup>
  <Compile Include="../Shared/AssemblyInfo.cs">
  <Link>Properties/AssemblyInfo.cs</Link>
  </Compile>
  </ItemGroup>
  </Project>

这样我们就可以在项目中使用 AssemblyInfo.cs 文件中的代码了。

编辑项目文件引入文件夹下的所有文件

那如果想要引入多个文件,我们可以使用通配符来引入文件夹下的所有文件。比如我们想要引入 Shared 文件夹下的所有文件,我们可以这样做:

  <Project>
  <ItemGroup>
  <Compile Include="..\Shared\**\*.cs">
  <Link>Properties/%(Filename)%(Extension)</Link>
  </Compile>
  </ItemGroup>
  </Project>

这样我们就可以在项目中使用 Shared 文件夹下的所有文件中的代码了。

不过这样会使得所有的文件在项目中都会显示在 Properties 文件夹下,这样会让项目文件看起来很乱。我们可以通过修改 Link 标签来修改文件在项目中的显示位置。比如我们想要把 Shared 文件夹下的所有文件都显示在项目的根目录下,我们可以这样做:

  <Project>
  <ItemGroup>
  <Compile Include="..\Shared\**\*.cs">
  <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
  </Compile>
  </ItemGroup>
  </Project>

别忘了使用 Directory.Build.props 文件

上面的方法都是在项目文件中引入文件的,但是如果我们有很多项目,那么我们就需要在每个项目文件中都引入这些文件。这样会让我们的项目文件变得很乱。我们可以通过使用 Directory.Build.props 文件来解决这个问题。我们可以在解决文件夹下创建一个 Directory.Build.props 文件,然后在这个文件中引入文件夹下的所有文件。比如我们想要引入 Shared 文件夹下的所有文件,我们可以这样做:

  <Project>
  <ItemGroup>
  <Compile Include="..\Shared\**\*.cs">
  <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
  </Compile>
  </ItemGroup>
  </Project>

总结

通过上面的方法,我们可以在 C# 项目中引入文件夹下的所有文件。这样我们就可以在项目中使用这些文件中的代码了。

参考资料

感谢您的阅读,如果您觉得本文有用,请点赞、关注和转发;更多精彩内容请关注我的博客 https://www.newbe.prohttps://github.com/newbe36524/newbe36524

  • 本文作者: newbe36524
  • 本文链接: https://www.newbe.pro/Others/0x017-csharp-how-to-link-all-the-files-in-a-given-folder/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

  1. https://learn.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-items?view=vs-2022&WT.mc_id=DX-MVP-5003606#compile

  2. https://learn.microsoft.com/visualstudio/msbuild/customize-your-build?view=vs-2022&WT.mc_id=DX-MVP-5003606#directorybuildprops-and-directorybuildtargets

 

 

出处:https://www.cnblogs.com/newbe36524/p/0x017-csharp-how-to-link-all-the-files-in-a-given-folder.html

标签:文件,项目,C#,我们,文件夹,https,引入,链接
From: https://www.cnblogs.com/mq0036/p/17098550.html

相关文章

  • 65、商城业务---异步---CompletableFuture启动异步任务
    我们都推荐使用自己创建的线程池的方法;测试如下:packagecom.elasticsearch.thread;importjava.util.concurrent.CompletableFuture;importjava.util.concurrent.Ex......
  • kubectl的多样用法 - 我的小米粥分你一半【转】
    kubectl是K8s官方附带的命令行工具,可以方便的操作K8s集群。这篇文章主要介绍一些kubectl的别样用法,希望读者有一定基础的K8s使用经验。有一篇文章也介绍了一些技......
  • CAD中怎么画带有箭头的圆弧?弧形CAD箭头绘制步骤
    在CAD设计过程中,如果想要画两头带箭头的圆弧该如何操作呢?本节CAD教程小编就来给大家分享一下可以画弧形CAD箭头的小插件,有需要的小伙伴可以一起来了解一下哦!弧形CAD箭头绘......
  • CAD怎么导入系统设置文件?浩辰CAD系统设置文件导入步骤
    很多设计师小伙伴换电脑后重新安装了浩辰CAD软件,但是想要将给之前的CAD系统设置文件导入到新电脑的浩辰CAD软件中,这种情况该怎么办呢?本节教程小编就来给大家分享一下浩辰CA......
  • CAD怎么把图形分割?CAD图形分割方法步骤
    如何进行CAD图形分割?在进行CAD图纸绘制的过程中,有些时候会需要我们从一整张CAD图纸中分割出一部分来使用,这种时候要怎么进行CAD图形分割呢?如果你还不会的话,就来看看下面小......
  • Centos7离线安装Docker和docker-compose
    Centos7离线安装Docker和docker-compose 1.查看系统环境,内核版本3.10及以上#cat/etc/redhat-release#uname-r2.准备docker安装包和安装脚本Docker官方下载地址:https://d......
  • MVC控件器动作 返回类型 IActionResult
    1usingMicrosoft.AspNetCore.Mvc;2usingSystem.Diagnostics;3usingSystem.Text;4usingTestMvcWebApplication.Models;56namespaceTestMvcWebApplic......
  • 让你VS Code的通过插件扩展,拥有了三头六臂
    VSCode有一个很强大的功能就是支持插件扩展,让你的编辑器仿佛拥有了三头六臂。安装VSCode插件提醒:当完成了vscode这些配置后,当我们换一台电脑时,不会还得重新配置吧?......
  • UIScrollView全部API学习。
    交流群:QQ529560119>设定滚定条的样式typedefNS_ENUM(NSInteger,UIScrollViewIndicatorStyle){UIScrollViewIndicatorStyleDefault,//blackwithwhiteborder.......
  • CompletableFuture实现异步转同步
    在很早之前的文章服务端性能优化之异步查询转同步介绍了一种常用到,服务端开发常用到的多个异步查询转同步的方法,本质上就是利用了java.util.concurrent.CountDownLatch的功......