Sam*_*erg 8 c# markdown visual-studio
我使用 c# 和 Visual Studio 2017 启动了一个新项目。我的目标是管理 Visual Studio 中的文档,将所有文件放在一个地方,并在 TFS/Git 中拥有完整且易于访问的历史记录。
我有src
文件夹中的代码,文件夹中的测试项目,test
文件夹中作为 Markdown 文件的文档docs
(我使用Markdown Editor)。根文件夹中还有一个Readme.md:
现在有一些问题:
我阅读了有关创建一个空的 c# 项目并禁用该项目的构建的信息,但这似乎也是一个 hack。
是否有一些建议可以在 Visual Studio 中管理文档文件?
如本答案所示,可以使用Visual Studio 2017 中的链接文件功能链接整个目录,前提是您使用新的.csproj
项目格式并且除了 Visual Studio 2017 15.3+ 之外还安装了 .NET Core 2.0 SDK 。
<EmbeddedResource Include="..\..\..\docs\**\*.md" LinkBase="docs" />
Run Code Online (Sandbox Code Playgroud)
这将docs
使用项目的相对路径将子文件夹链接到项目中名为docs
(LinkBase)的文件夹。每次在文件夹或嵌套文件夹中添加、删除或更改文件时docs
,Visual Studio 都会识别这些更改(如果文件已打开,它可能会提示您更新 Visual Studio 中的文件)。
请注意,您还可以在其他MSBuild 项目项上使用此功能EmbeddedResource
,例如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
build\build.ps1 = build\build.ps1
src\CommonAssemblyInfo.cs = src\CommonAssemblyInfo.cs
TestTargetFramework.proj = TestTargetFramework.proj
Version.proj = Version.proj
EndProjectSection
EndProject
Run Code Online (Sandbox Code Playgroud)
不幸的是,该.sln
格式没有提供很多选项。正如您在Hack the Project and Solution Files中看到的,它ProjectSection
只是列出了项目的依赖项,并且可以选择指定“真实”相对文件路径。但仅此而已。根据这个类似的问题,不可能将一个目录链接到.sln
文件中的另一个目录。
上述解决方案项“项目”和.csproj
项目之间的唯一区别在于,后者转移了对将文件添加到.csproj
(MSBuild) 文件的位置的控制。
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MyProject",
"src\MyProject\MyProject.csproj", "{3A0AA37E-2B7B-4416-B528-DA4E0E6A6706}"
EndProject
Run Code Online (Sandbox Code Playgroud)
然而,正如这个答案指出的,另一种解决方法是添加一个Web Site Project,它将添加一个没有.csproj
文件的项目,该项目“实时”跟踪磁盘上的文件,类似于新.csproj
格式在 Visual Studio 中的工作方式2017年。
归档时间: |
|
查看次数: |
3421 次 |
最近记录: |