Visual studio Visual Studio 2013解决方案文件夹在哪里?
我目前的处境: 我有一个解决方案,将一个大型MVC项目拆分为两个较小的项目。当然,这两个较小的项目引用了旧的较大项目中相同的JavaScript和内容文件 我想做什么: 我不想复制2个项目中的脚本和内容,而是想创建一个共享文件夹,2个项目使用链接或快捷方式引用该文件夹 我是如何解决问题的: 我认为解决方案文件夹是我问题的解决方案。因此,我想创建一个解决方案文件夹,将所有脚本和内容文件移动到该文件夹中 但是,我的问题是,我必须逐个文件移动到此文件夹,因为我们不能简单地添加现有文件夹(我将脚本和内容文件夹移动到解决方案目录本身,而不是移动到特定项目中)。这太无聊了 以下是我试图做的:Visual studio Visual Studio 2013解决方案文件夹在哪里?,visual-studio,visual-studio-2013,solution,Visual Studio,Visual Studio 2013,Solution,我目前的处境: 我有一个解决方案,将一个大型MVC项目拆分为两个较小的项目。当然,这两个较小的项目引用了旧的较大项目中相同的JavaScript和内容文件 我想做什么: 我不想复制2个项目中的脚本和内容,而是想创建一个共享文件夹,2个项目使用链接或快捷方式引用该文件夹 我是如何解决问题的: 我认为解决方案文件夹是我问题的解决方案。因此,我想创建一个解决方案文件夹,将所有脚本和内容文件移动到该文件夹中 但是,我的问题是,我必须逐个文件移动到此文件夹,因为我们不能简单地添加现有文件夹(我将脚本和内容
XCOPY“$(SolutionDir)Files\*.*”$(ProjectDir)“/E
我这样做是因为建议的解决方案和我以前的尝试是向外部资源文件添加链接/快捷方式。虽然这很好,而且快捷方式实际上添加到了项目中,但当我测试MVC项目时,IIS没有加载资源文件,因为它查找物理文件(当然)
所以我现在的问题是:是否有某种方式,无论是在csproj文件中的构建事件还是配置,都可以“在项目中包含”新“物理”复制的文件?据我所知,visual studio没有通过其界面提供此功能。其目的可能是项目文件存在于项目文件夹中,而不是单独存在。它通常使项目工作更容易(移动、共享等) 也就是说,您不必让项目位置中的每个真实文件夹都包含在该项目中。因此,您可以执行类似以下文件夹结构的操作:
+ /Projects (contains ProjectA.csproj and ProjectB.csproj)
|
+-- /ProjectA (folder with files that are just for "ProjectA"
|
+-- /ProjectB (folder with files just for "ProjectB")
|
+-- /Shared (Folder with your shared scripts/files)
使用此结构,您应该能够使用“显示所有文件”按钮,并在两个项目中包括共享文件夹。您可能需要手动编辑csproj文件以映射到此新结构,但这应该不会太困难
我能想到的唯一其他选择是尝试手动编辑csproj文件,例如
希望一切都有帮助。祝你好运 正如drew建议的那样:编辑项目文件是一种方法。另一种方法是以类似于csproj文件的机制编辑解决方案文件。 在解决方案文件中,具有特定GUID的项目包含一组文件夹的详细信息 编写一个小应用程序,它将读取您的文件夹并输出所需输出的小文本。生成新的guid,直到创建文件为止。只需将其粘贴到.sln文件的顶部。2150E333-8FDC-42A3-9474-1A3956D46DE8似乎是用于解决方案项的GUID 此示例有几个子文件夹,其内容为嵌套结构。 i、 e EndProject解决方案文件夹(在文件系统上)是可选的,在Visual Studio中,它们通常仅用于在Visual Studio中组织文件 手动创建与解决方案相同级别的“物理”文件夹是一种方法,但这样可以降低复杂性 以下是移动单个脚本文件的步骤: 在文件系统上
请注意,您不局限于一次处理一个文件,它只是更易于跟踪。我对这个问题的最终解决方案是将建议的解决方案和我决定采取的方法结合起来,以便本地IIS可以查看这些文件 我在csproj文件中添加了以下部分:
<Content Include="..\Files\**">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
</Content>
%(RecursiveDir)%(文件名)%(扩展名)
我还在我的项目中添加了以下命令作为预构建事件:
XCOPY/y“$(SolutionDir)Files\*.*”$(ProjectDir)”/E
我所知道的查找解决方案文件夹位置的最快方法
<Content Include="..\Files\**">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
</Content>