我有一个独立于任何C#项目的独立文件集,它们位于复杂的嵌套目录结构中.
我想以这种格式将它们添加到我正在处理的ASP.NET Web应用程序中的不同目录中; 同时保留相同的结构.所以,我将文件夹复制到我的项目的目标位置,我试图"添加现有项目"只是为了丢失以前的文件夹层次结构.
通常我手动重新创建目录,一对一地复制,然后添加现有项目.在这种情况下,目录/项目太多了.
那么如何在Visual Studio 2008中添加现有目录和文件?
我想在解决方案资源管理器中将已存在的目录添加到目录中,但每当我右键单击该目录并选择时Add => Existing Item
,我只能添加单个文件,而不能添加目录.
如何将现有目录添加到Solution Explorer中的Project内的目录中?
我有一个C#项目说MyProject.csproj位于"C:\ Projects\MyProject \".我也有我想复制到这个项目的输出目录中的文件.但是,文件位于"C:\ MyContentFiles"位置,即它们不在项目锥内.该目录也有子目录.目录的内容不受管理.因此,我必须包括其下的所有内容.
当我在项目中将它们包含为"内容"时,它们会被复制,但目录结构会丢失.我做了这样的事情: -
<Content Include="..\..\MyContentFiles\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
Run Code Online (Sandbox Code Playgroud)
如何将这些文件/目录递归复制到项目的输出目录中并保留目录结构?
这个问题基本上与这些问题相同:
如何在Visual Studio中将现有目录树添加到项目? 如何在Visual Studio中"添加现有项"整个目录结构?
除了解决方案不适合我.
它看起来像另一个用户有完全相同的问题
http://pytools.codeplex.com/discussions/249455
但是http://xkcd.com/979/又一次袭来.
我正在使用Visual Studio 2010和Visual Studio的Python工具.
在此项目中,用户创建新文件夹和代码并将其提交给SVN.另一个用户将更新SVN,新的文件和文件夹将显示在Windows资源管理器中.然后,用户需要一种简单的方法将这些文件夹和文件添加到解决方案中.
将解决方案放入SVN,这样添加的文件夹可以在提交之前添加到解决方案中.该解决方案在与源不同的区域内进行控制.
建议的解决方案:
不会工作,因为:
解决方案资源管理器中的"显示所有文件"按钮不会显示.
建议的解决方案:
不会工作,因为:
当我将文件夹拖到解决方案资源管理器窗格上时,删除文件夹的位置会影响解决方案嵌套的位置.如果它被丢弃在错误的文件夹中,它将显示为具有预期名称和预期内容的文件夹.这非常接近我们想要的,除了它在错误的文件夹中(因为我故意将它放在错误的文件夹中).如果文件夹被拖动到正确的位置,它将显示为带有感叹号的文件.当你双击"文件"时,它说
"The item <folder name> does not exist in the project directory. It may have been moved, renamed, or deleted"
Run Code Online (Sandbox Code Playgroud)
我相信这是因为VS会尝试在您将其拖动到的目录中创建该文件夹的副本.如果我将文件夹完全移出我的项目(比如桌面),然后将其拖到适当位置的解决方案资源管理器中,它将显示为项目中的文件夹.该文件夹的副本也在磁盘上由drop指定的位置创建,具有相同的名称和内容.
因此,将文件夹拖放到解决方案资源管理器中似乎会在您删除解决方案时在解决方案中定位的磁盘上创建该文件夹的副本.如果该位置已具有该名称的文件夹,则该文件夹将作为文件导入.
我的解决方案
我正在使用PyCharm,它更好.
是否可以在不手动添加树的每个级别的情况下向解决方案项添加文件夹结构?
我们有一个多项目解决方案,需要几个第三方库,其中至少有一个有多层树.
我们libs
在解决方案根目录下有一个文件夹,以及所有其他项目.
有关显示隐藏文件等的答案不适用于解决方案项目,仅适用于项目中.
有没有办法解决这个问题?
如果我们在解决方案级别需要它们,我们是否必须按文件夹添加它们?
(类似的问题已经回答了 很多 次关于Visual Studio中的项目,但我的问题是有关Visual Studio 解决方案.)
projects-and-solutions visual-studio-2010 visual-studio libraries
我在一个名为"Source"的文件夹中有一个Visual Studio 2013项目.我想在该文件夹中有一些额外的文件夹,我正试图找到一种方法来做到这一点.如果我在visual studio中创建一个新的"过滤器"(看起来像一个文件夹)并在其中创建一个文件.它可能看起来位于新文件夹中(由Visual Studio显示),但它实际上位于默认的Source文件夹中.
我尝试第二种方法,并在操作系统的帮助下创建该文件夹.我甚至手动在其中创建一个文件.然后我去visual studio并添加一个现有项目,选择文件夹中的文件.Visual Studio然后添加文件,这是好的,但它显示为在默认目录中.
我想有一种非常手工的方式.这反映了一切.使用操作系统创建文件夹.在visual studio等中创建过滤器并手动镜像所有内容.
有不同的方式,还是在2天内创建更好的IDE?
我雇了一个承包商为我做一些编码.他使用以下存储库路径在解决方案文件夹中设置nuget.config:
<configuration>
<solution>
<add key="disableSourceControlIntegration"
value="true" />
</solution>
<config>
<add key="repositoryPath"
value="../lib" />
</config>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我对他的决定不太满意:这会将nuget包文件夹放在解决方案文件夹之外.我可以轻松更改存储库路径,只需设置:
value="../<mySolutionFolder>/lib" />
Run Code Online (Sandbox Code Playgroud)
然而,当我这样做时,会发生一件奇怪的事情:我在解决方案中使用的每一个引用现在都被破坏了.我在.csproj文件或其他*.config文件中更改的任何内容都不允许我的项目查找其引用.
唯一的解决方法是从头开始重新创建我的解决方案中的每个项目,并添加 - >现有项目等,并参考 - >管理nuget包,并再次安装每个参考.
我的解决方案中有很多项目,并且每个项目执行此项目都非常耗时.
我想知道是否有一个简单的方法?
似乎应该有一种方法让Nuget和VS很好地玩,这样我就可以轻松地将存储库文件夹移动到不同的路径位置.
我正在使用ASP.NET MVC 5应用程序,用户可以上传视频.我注意到一个问题,有时候找不到视频,因为它们似乎有重复的文件扩展名.
让我感到困惑的是调试器里面我得到了正确的路径......
C:\Users\MyUser\Documents\visual studio 2013\Projects\MyStructures\MyStructures\Content\Videos\bbb.mp4
但它没有显示在Visual Studio的内容文件夹中.
当我使用文件资源管理器打开该文件夹时,文件就在那里.
显示视频的代码从数据库中提取文件名.
@if (!string.IsNullOrEmpty(post.VideoFileName))
{
<div>
<video width="400" controls>
<source src="~/Content/Videos/@post.VideoFileName" type="video/mp4">
<source src="~/Content/Videos/@post.VideoFileName" type="video/ogg">
<source src="~/Content/Videos/@post.VideoFileName" type="video/webm">
<p>Your browser does not support HTML5 video.</p>
</video></div>
}
Run Code Online (Sandbox Code Playgroud)
如何使用C#检查并删除这些重复的文件扩展名?