如何移动Visual Studio C#项目并维护链接的文件?
例如;
- 我有一个位于文件夹
A/V2013_Project
中的VC#项目 - 这个VC#项目链接到文件
A/Image/a.png
,这是因为我们有许多其他项目也使用这个文件 - 我想把我的项目转移到
A/Release/V2013_Project
。把这个项目移到一个子文件夹里 - 我不会重命名新项目中的任何内容,也不会更改除项目位置之外的任何其他内容
当我移动项目时,我所有的链接都失败了(有50多个),我的大多数参考都失败了。所谓失败,我的意思是它们不再指向文件。在新移动的VC#项目中;当我点击链接文件时,VC#显示一个错误:
Cannot find the file A/Image/a.png. It may have been moved or deleted.
但这个文件从未被移动过。它仍然在同一个地方。
如何移动VC#项目并维护链接和引用?有任何第三方插件可以做到这一点吗?
编辑:使用wintermute的建议;这些联系确实是相对的,而不是绝对的。例如
<Resource Include="....ResourcesOtherImagesTOOLBAR_close.png">
<Link>ResourcesOtherImagesTOOLBAR_close.png</Link>
</Resource>
有什么想法可以让链接在VC中绝对化吗?
这取决于文件的链接方式。你的问题不清楚。
有些文件是.csproj文件的引用。关闭Visual Studio(只是为了确定),然后用记事本或其他文本编辑器打开.csproj文件。看看你所说的文件是否在那里被引用。如果是,请在每个文件名前面添加文本"..\",表示它们是相对于项目位置高出一个目录。
.resx文件中引用了一些文件。在这种情况下,Visual Studio应该将.resx文件的名称作为错误消息的一部分。可以使用Visual Studio的编辑器修复此问题。双击错误消息,它应该会打开.resx文件,其中错误的文件引用作为所选行。再次在文件名前面添加"..\"。
你说你有50个推荐人。希望这意味着您可以进行搜索和替换,将"..\"文本添加到相关的文件名中。
编辑:
你对你的问题进行了编辑,显示了这一行:
<Resource Include="....ResourcesOtherImagesTOOLBAR_close.png">
如果你真的想让它变得绝对,那就去做吧。
<Resource Include="D:MerliniaTrunk-DebugAdd-OnsPicture EditorVS2012 projectsPictureEditorResourcesOtherImagesTOOLBAR_close.png">
但正如我在评论你的问题时提到的,请确保这是解决问题的最佳方式。