关于c#:如何在-C-项目中链接一个文件夹下的所有文件

13次阅读

共计 1700 个字符,预计需要花费 5 分钟才能阅读完成。

在 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# 我的项目中引入文件夹下的所有文件。这样咱们就能够在我的项目中应用这些文件中的代码了。

参考资料

  • Linking files in a project1
  • Directory.Build.props2

感谢您的浏览,如果您感觉本文有用,请点赞、关注和转发;更多精彩内容请关注我的博客 https://www.newbe.pro 和 https:…。

  • 本文作者: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/e… ↩
  2. https://learn.microsoft.com/v… ↩
正文完
 0