在您看来,可以在 Visual Studio 2012 中更改 C# 项目中的文件完整路径?我问这个是因为在可视化中,包含完整路径的项目文件的属性框显示为禁用(灰色)。我会在不同的项目中使用相同的文件,在相同的解决方案下,没有重复的文件代码.cs。
问问题
25507 次
2 回答
4
扩展@TheSolution的答案:
- 文件 > 新项目(或解决方案 > 右键单击 > 添加新项目)> 类库 - 将其命名为“MyProject.Common”
- 将现有文件 ( Shift+Alt+A) 添加到项目 > 选择要共享的文件。或复制/粘贴
- 删除原始项目中的旧文件,因为它们已被复制到共享项目中
- 然后在要使用公用文件的项目中,项目>添加参考>从左侧面板的“解决方案>项目”下选择,选中“公用”项目并选择“确定”
using
在使用公共代码的代码文件顶部的部分中包含命名空间。
如果您正在谈论重命名 C# 项目及其文件夹,则必须在解决方案中重命名项目后在.sln
和文件中手动执行此操作。.csproj
例如)如果您想将“ME.MyProject”重命名为“ME.YourProject”:
- 项目 > 属性(ALT+ENTER在解决方案资源管理器中的项目上)
- 更改“程序集名称”和“默认命名空间”
- 关闭VS(或卸载解决方案)
- 重命名文件夹
- 在文本编辑器中打开
.sln
文件并按照以下手动步骤操作 - 打开
.csproj
引用此项目的所有其他项目的文件,并将引用从“MyProject”更改为“YourProject”。或者,在 VS 中删除并重新添加项目引用。
.sln
:
前:
请注意,项目文件已重命名,但路径未重命名。
Project("{SOMEGUID}") = "ME.YourProject", "ME.MyProject\ME.YourProject.csproj", "{ANOTHERGUID}"
EndProject
后:
Project("{SOMEGUID}") = "ME.YourProject", "ME.YourProject\ME.YourProject.csproj", "{ANOTHERGUID}"
EndProject
.csproj
:
前:
<ProjectReference Include="..\ME.MyProject\ME.YourProject.csproj">
<Project>{ANOTHERGUID}</Project>
<Name>ME.YourProject</Name>
</ProjectReference>
后:
<ProjectReference Include="..\ME.YourProject\ME.YourProject.csproj">
<Project>{ANOTHERGUID}</Project>
<Name>ME.YourProject</Name>
</ProjectReference>
于 2013-07-26T16:27:12.873 回答
1
如果您想共享代码文件,则可以将其添加为链接文件。您可以通过右键单击项目,选择添加现有项目,在打开文件对话框中找到项目,然后在选择它之前下拉打开按钮并选择链接选项来执行此操作。
现在,这会将代码文件链接到这个项目——或者换句话说——当它在一个地方发生变化时,它在两个地方都发生了变化。
但是,链接文件是提供共享功能的一种非常老套的方式。更合适的方法是构建具有该功能的类库并将 DLL 作为对项目的引用。这意味着您需要有一种方法来使该 DLL 保持最新 - 但它通常仍然更合适。
于 2013-04-09T12:32:08.743 回答