如何将项目移动到Visual Studio中的其他文件夹?我习惯于在我的项目中使用这个结构。
-- app
---- Project.Something
---- Project.SomethingElse
我想将整个命名空间SomethingElse重命名为SomethingNew,最好的方法是什么(不需要手动进入.sln文件)?
答案 0 :(得分:182)
我尝试了删除并重新添加项目的建议,但是修复依赖项可能很麻烦。
我使用这种方法:
答案 1 :(得分:147)
在解决方案资源管理器窗口中右键单击解决方案,然后选择“删除”,从解决方案中删除项目。移动整个项目文件夹,包括子目录,无论您想要去哪里。将项目添加回您的解决方案。
命名空间名称完全不同,只需编辑源代码即可。
答案 2 :(得分:42)
答案 3 :(得分:2)
对我来说真正有用的是:
希望这有帮助。
答案 4 :(得分:2)
我有同样的问题。我在不到15分钟的时间内移动了参考文献,而没有更改参考文献。
对我来说,解决方案很简单:
示例:
在解决方案文件(.sln)中
原件: Project(“ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“ PATH1.UI”, “ ScannerPDF \ PATH1.UI \ PATH1.UI.csproj”, “ {A26438AD-E428-4AE4-8AB8-A5D6933E2D7B}” 项目(“ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)= “ PATH1.DataService”, “ ScannerPDF \ PATH1.DataService \ PATH1.DataService.csproj”, “ {ED5A561B-3674-4613-ADE5-B13661146E2E}”
新功能: Project(“ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“ PATH1.MX.UI”,“ PATH1.MX.UI \ PATH1.UI.csproj”, “ {A26438AD-E428-4AE4-8AB8-A5D6933E2D7B}” 项目(“ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)= “ PATH1.DataService”, “ PATH1.DataService \ PATH1.DataService.csproj”, “ {ED5A561B-3674-4613-ADE5-B13661146E2E}”
在项目文件中:
原件:
新功能:
原始参考: .... \ lib \ RCWF \ 2018.1.220.40 \ TelerikCommon.dll
新参考: .. \ lib \ RCWF \ 2018.1.220.40 \ TelerikCommon.dll
答案 5 :(得分:1)
VS2012很容易;只需使用更改映射功能:
答案 6 :(得分:1)
在Visual Studio社区2019中,我做了Victor David Francisco Enrique所说的,但只需要删除.vs invisbile文件夹
答案 7 :(得分:0)
在VS 2015中
MVC
,则可能需要在参考管理器中添加引用。答案 8 :(得分:0)
我想出了这个对我有用的尝试。
在Visual Studio 2017社区版中,它按此路径创建一个项目 “ C:\ Users \ mark \ source \ repos \ mipmaps \ mipmaps” 这将创建对文件的访问被拒绝的问题
现在,您可以通过这种方式解决该问题。
关闭Visual Studio流程。 然后,找到您的项目并复制项目文件夹 但是,首先在文档的Visual Studio 2017文件夹中创建一个名为Projects的子文件夹。 接下来,将项目文件夹粘贴到Visual Studio 2017项目文件夹中,而不是粘贴到名为Projects的子文件夹的主Visual Studio 2017文件夹中。 接下来,重新启动Visual Studio 2017 然后,选择“打开项目”。 然后,找到您粘贴在Visual Studio 2017 Projects文件夹中的项目 然后清理项目并重新构建它,它应该可以很好地构建和编译。 希望,这对其他人有所帮助。 不确定Microsoft为什么认为在需要写权限的路径上构建项目超出了我的范围。
答案 9 :(得分:0)
我希望Git中的更改显示为移动/重命名,而不是删除和添加。 因此,我结合了以上内容和这个post。
mkdir subdirectory
git mv -k ./* ./subdirectory
# check to make sure everything moved (see below)
git commit
并通过文本编辑器从sln文件中的nuget Pkg调整项目和装配的路径。
答案 10 :(得分:0)
答案 11 :(得分:0)
摘要:在VS2019中使用git重命名和移动,保留git历史记录,稍微利用R#,自动相关项目引用更新(对于sln的许多项目很重要,我们有200多个)
我一直使用以下步骤在Visual Studio 2019中重命名和移动C#项目。此过程使用R#调整名称空间。通过执行“ git mv”(避免添加/删除历史记录放置)来保留git历史记录。
两个阶段:1)重新命名项目,2)移动项目。
(使用base2中的提示来重新卸载项目。)
重命名
注意:到目前为止,Windows资源管理器中的文件夹仍为旧名称(例如,Utils.Foo)。在移动步骤中已解决此问题。
移动
此方法:1)保留git历史记录,2)利用R#原子地调整名称空间,3)批量更新依赖项目(避免繁琐的手动编辑依赖sln和csproj文件)。
卸载解决方案中的所有项目(以便删除目标项目不会触发相关项目中的更改)
VS |选择解决方案|下的所有解决方案文件夹。右键单击“卸载项目”
使用git移动文件夹(这样可以保留历史记录)
a)在2019年打开开发人员命令提示符
b)git状态(以说明“什么也不做,工作树干净”)
c)git mv项目 例如git mv“ C:\ Code \ foo \ foo \ Utils.Foo”“ C:\ Code \ Foo”
d)git状态以查看/验证更改
VS |解决方案资源管理器|选择项目|右键单击|去掉 (由于所有项目都已卸载,因此在相关项目中不会正确删除对此项目的引用)
a)VS |解决方案资源管理器|选择目标父文件夹|右键单击|新增|现有项目
重要信息:确认相关项目的* .csproj文件已更新。
(VS | Team Explorer |更改|双击列出的任何相关csproj |检查并验证ProjectReference路径更改)
使用Notepad ++(或其他文本编辑器)修复路径。通常,这可以通过简单的搜索和替换(例如,.. / .. / .. / .. /到../../)来完成。
这将更新...
a)GlobalAssmeblyInfo.cs参考
b)包的路径
c)依赖关系验证图文件的路径
d)到规则集路径的路径(例如<CodeAnalysisRuleSet>..\..\..\..\SolutionDependencyValidation\IgnoreWarnings.ruleset</CodeAnalysisRuleSet>
)
全部保存,关闭解决方案,我宁愿删除bin和obj文件夹以清除历史记录,重新打开解决方案
a)VS |团队资源管理器|变化
i)应该看到“分阶段更改”显示已移动的文件 ii)应该看到更新良好的从属项目(* .csproj) 查看csproj差异,并注意路径已被精美更新! (这是避免使用文本编辑器费力地手动更新csproj文件的魔力)
b)在Windows资源管理器中,确认旧位置为空
c)清洁解决方案,重建解决方案,运行单元测试,在sln中启动应用。
答案 12 :(得分:0)
这对我有用vb2019。我复制了我的源项目文件夹。然后,我粘贴了该项目,并将文件夹重命名为其他名称。为了打破与源项目文件夹的联系,我临时重命名了源文件夹。我打开了我的目标项目。表单和模块的路径已在本地文件夹中重新发现。我仔细阅读了所有表格和模块,以确保它们正常工作。我运行了这个项目。我关闭了项目。我将源项目文件夹重命名为不是原始名称。我可以同时打开两个项目而不会出现错误。
答案 13 :(得分:0)
不确定为什么最简单的解决方案会忽略所有答案。只需运行“命令提示符应用程序”(在窗口栏中搜索CMD,它将自动显示)
然后只需键入以下命令(更改与您的情况相关的路径:)
robocopy /E C:\Users\Peter\source\repos D:\Peter\repos
robocopy的作用是“将文件数据从一个位置复制到另一位置”。而“秘密来源”是/ E,表示“复制子目录。此选项自动包含空目录。”
享受!!! :-)
答案 14 :(得分:0)
关闭解决方案并将您的项目移动到新文件夹/位置
重新打开您的解决方案
项目加载时应带有“+”叹号,表示部分未检查。所有文件 项目的名称将显示为已重命名。
如果重新打开后不起作用,请右键单击项目并单击卸载,然后 重新加载。
它在 VS2019 中有效
答案 15 :(得分:-2)
使用解决方案文件夹将相关项目组合在一起
请参阅http://msdn.microsoft.com/en-us/library/vstudio/c6c756s6(v=vs.100).aspx