加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Visual Studio解决方案中的Markdown文档

发布时间:2020-12-15 22:49:39 所属栏目:百科 来源:网络整理
导读:我使用c#和Visual Studio 2017开始了一个新项目.我的目标是管理Visual Studio中的文档,将所有文件放在一个地方,并在TFS / Git中提供完整且易于访问的历史记录. 我有src文件夹中的代码,测试文件夹中的测试项目,文档文件夹中的Markdown文件(我使用 Markdown Ed
我使用c#和Visual Studio 2017开始了一个新项目.我的目标是管理Visual Studio中的文档,将所有文件放在一个地方,并在TFS / Git中提供完整且易于访问的历史记录.
我有src文件夹中的代码,测试文件夹中的测试项目,文档文件夹中的Markdown文件(我使用 Markdown Editor).根文件夹中还有一个Readme.md:

enter image description here

现在有一些问题:

> Visual Studio中的结构与文件系统中的结构不同.我在Visual Studio中创建的所有md-Files都放在Solution的根目录中.我可以在Windows资源管理器中创建文件并添加“现有项目”但是这样
是一种痛苦.
>我可以在Visual Studio中移动md文件,但它们不会在文件系统中移动.
>所有文件引用都保存在sln文件中,这会改变很多.我想避免这种情况.

我读到了关于创建一个空的c#项目并禁用该项目的构建,但这似乎也是一个hack.

是否有一些建议来管理Visual Studio中的文档文件?

解决方法

与 this answer一样,如果您使用的是 new .csproj project format并且除了Visual Studio 2017 15.3之外还安装了.NET Core 2.0 SDK,则可以使用Visual Studio 2017中的链接文件功能链接整个目录.

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

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

enter image description here

请注意,除了EmbeddedResource之外,您还可以在其他MSBuild Project Items上使用此功能,例如Content,Compile或None.

项目

从技术上讲,Visual Studio解决方案文件是项目.您可以通过在文本编辑器中打开.sln文件来查看:

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

不幸的是,.sln format没有提供很多选择.正如您在Hack the Project and Solution Files中所看到的,ProjectSection只列出了项目的依赖关系,并且可以选择指定“真正的”相对文件路径.但这就是它.根据this similar question,无法将目录链接到.sln文件中的另一个目录.

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

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

但是,正如this answer所指出的,另一个解决方法是添加一个Web站点项目,它将添加一个没有.csproj文件的项目,可以“实时”跟踪磁盘上的文件,类似于新的.csproj格式的工作方式在Visual Studio 2017中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读