4

在您看来,可以在 Visual Studio 2012 中更改 C# 项目中的文件完整路径?我问这个是因为在可视化中,包含完整路径的项目文件的属性框显示为禁用(灰色)。我会在不同的项目中使用相同的文件,在相同的解决方案下,没有重复的文件代码.cs。

4

2 回答 2

4

扩展@TheSolution的答案

  1. 文件 > 新项目(或解决方案 > 右键单击​​ > 添加新项目)> 类库 - 将其命名为“MyProject.Common”
  2. 将现有文件 ( Shift+Alt+A) 添加到项目 > 选择要共享的文件。或复制/粘贴
  3. 删除原始项目中的旧文件,因为它们已被复制到共享项目中
  4. 然后在要使用公用文件的项目中,项目>添加参考>从左侧面板的“解决方案>项目”下选择,选中“公用”项目并选择“确定”
  5. using在使用公共代码的代码文件顶部的部分中包含命名空间。

如果您正在谈论重命名 C# 项目及其文件夹,则必须在解决方案中重命名项目后在.sln和文件中手动执行此操作。.csproj例如)如果您想将“ME.MyProject”重命名为“ME.YourProject”:

  1. 项目 > 属性(ALT+ENTER在解决方案资源管理器中的项目上)
  2. 更改“程序集名称”和“默认命名空间”
  3. 关闭VS(或卸载解决方案)
  4. 重命名文件夹
  5. 在文本编辑器中打开.sln文件并按照以下手动步骤操作
  6. 打开.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 回答