在Visual Studio 2012中更改C#项目中的文件完整路径

时间:2013-04-09 12:28:17

标签: c# .net visual-studio

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

2 个答案:

答案 0 :(得分:3)

扩展@ TheSolution的answer

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

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

    1. 项目>属性(解决方案资源管理器中项目的 ALT + ENTER
    2. 更改“程序集名称”和“默认名称空间”
    3. 关闭VS(或卸载解决方案)
    4. 重命名文件夹
    5. 在文本编辑器中打开.sln文件,然后按照以下手动步骤进行操作
    6. 打开引用此项目的所有其他项目的.csproj个文件,并将引用从“MyProject”更改为“YourProject”。或者,在VS中删除并重新添加项目引用。
    7. <强> .sln

      BEFORE:

      请注意,项目文件已重命名,但不是路径。

      Project("{SOMEGUID}") = "ME.YourProject", "ME.MyProject\ME.YourProject.csproj", "{ANOTHERGUID}"
      EndProject
      

      AFTER:

      Project("{SOMEGUID}") = "ME.YourProject", "ME.YourProject\ME.YourProject.csproj", "{ANOTHERGUID}"
      EndProject
      

      <强> .csproj

      BEFORE:

      <ProjectReference Include="..\ME.MyProject\ME.YourProject.csproj">
        <Project>{ANOTHERGUID}</Project>
        <Name>ME.YourProject</Name>
      </ProjectReference>
      

      AFTER:

      <ProjectReference Include="..\ME.YourProject\ME.YourProject.csproj">
        <Project>{ANOTHERGUID}</Project>
        <Name>ME.YourProject</Name>
      </ProjectReference>
      

答案 1 :(得分:1)

如果您想共享代码文件,则可以将其添加为链接文件。您可以通过右键单击项目,选择添加现有项目,在打开文件对话框中查找项目,然后在选择它之前下拉打开按钮并选择链接选项来完成此操作。

现在,这将把该代码文件链接到这个项目 - 换句话说 - 当它在一个地方被改变时,它在两个地方都被改变了。

但是,链接文件是提供共享功能的非常 hacky 方式。更合适的方法是使用该功能构建类库,并添加DLL作为项目的引用。这意味着您需要有一种方法来保持该DLL的最新状态 - 但它通常仍然更合适。