Visual Studio解决方案中的Markdown文档

萨米·伯格

我使用c#和Visual Studio 2017开始了一个新项目。我的目标是管理Visual Studio中的文档,以将所有文件放在一个位置,并在TFS / Git中提供完整且易于访问的历史记录。
我在src文件夹中有代码,在文件夹中有测试项目,在test文件夹中有Markdown文件形式的文档docs(我使用Markdown Editor)。根文件夹中还有一个Readme.md:

在此处输入图片说明

现在有一些问题:

  • Visual Studio中的结构与文件系统中的结构不同。我在Visual Studio中创建的所有md文件都位于解决方案的根目录中。我可以在Windows资源管理器中创建文件并添加“现有项”,但这很麻烦。
  • 我可以在Visual Studio中移动md文件,但它们不会在文件系统中移动。
  • 所有文件引用都保存在sln文件中,这会发生很大变化。我想避免这种情况。

我读过有关创建一个空的C#项目并禁用该项目的构建的信息,但这似乎也很容易。

有一些建议在Visual Studio中管理文档文件吗?

夜猫子888

就像在这个答案中一样,可以使用Visual Studio 2017中链接文件功能来链接整个目录,前提是您正在使用新的.csproj项目格式,并且除了Visual Studio 2017 15.3+之外还安装了.NET Core 2.0 SDK。 。

<EmbeddedResource Include="..\..\..\docs\**\*.md" LinkBase="docs" />

这会将docs使用项目的相对路径的子文件夹链接到名为docs(LinkBase)的项目中的文件夹每次添加,删除或更改文件docs夹或嵌套文件夹中的文件时,Visual Studio都会识别更改(如果已打开,它可能会提示您更新Visual Studio中的文件)。

在此处输入图片说明

Note that you can use this feature on other MSBuild Project Items besides EmbeddedResource as well, such as Content, Compile, or None.

Projects

Technically, Visual Studio solution files are projects. You can see this by opening the .sln file in a text editor:

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{4016BDAB-6C33-4D1E-9439-57B416EA45D5}"
    ProjectSection(SolutionItems) = preProject
        build.bat = build.bat
        build\build.ps1 = build\build.ps1
        src\CommonAssemblyInfo.cs = src\CommonAssemblyInfo.cs
        TestTargetFramework.proj = TestTargetFramework.proj
        Version.proj = Version.proj
    EndProjectSection
EndProject

Unfortunately, the .sln format doesn't provide many options. As you can see in Hack the Project and Solution Files, the ProjectSection simply lists the dependencies of the project, and optionally has the ability to specify a "real" relative file path. But that is pretty much it. And according to this similar question, it is not possible to link a directory to another directory in a .sln file.

上述解决方案项目“项目”和.csproj项目之间的唯一区别是,后者将控制将文件添加到.csproj(MSBuild)文件的位置。

Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MyProject", 
"src\MyProject\MyProject.csproj", "{3A0AA37E-2B7B-4416-B528-DA4E0E6A6706}"
EndProject

但是,正如该答案所指出的,另一个解决方法是添加一个Web站点项目,该项目将添加一个不.csproj包含文件的项目,该文件“实时”跟踪磁盘上的文件,类似于.csprojVisual Studio中格式的工作方式2017。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

从Visual Studio解决方案中删除项目

在Visual Studio中查看多个项目/解决方案

在Visual Studio解决方案中仅构建特定项目

在Visual Studio 2015中捕获解决方案事件

C ++中的Visual Studio解决方案配置值

在CMake中包含Visual Studio解决方案

解决方案无法在Visual Studio中运行/生成/重建

Visual Studio 解决方案文件中的环境变量

Visual Studio 2017解决方案中的引用丢失

在Visual Studio Code中创建UWP解决方案

在解决方案中递归查找引用(Visual Studio)

Visual Studio构建解决方案

CMake Visual Studio 解决方案设置

Visual Studio解决方案参考

无法打开Visual Studio解决方案

只需单击即可在Visual Studio中清理解决方案并重建解决方案?

在不升级的情况下在Visual Studio 2013中打开Visual Studio 2008解决方案

自定义解决方案的Visual Studio配色方案

解决方案探索中的区域选项不会在Visual Studio 2019中显示

在Visual Studio 2013的解决方案文件夹中搜索代码中的特定模式

在Visual Studio中的同一解决方案中运行多个Web窗体应用

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

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

在Visual Studio C#中开发WebService,然后从单独的VS解决方案中调用它

从Visual Studio Online中的解决方案中删除丢失的项目

Visual Studio 2015 - 将解决方案复制到新解决方案

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

Visual Studio 的解决方案文件中的值是唯一的吗?