gpt4 book ai didi

c# - Visual Studio 2010 : Import csproj into another csproj "injected" via svn-externals

转载 作者:行者123 更新时间:2023-11-30 22:08:19 24 4
gpt4 key购买 nike

我正在寻找一种将 .csproj 文件“导入”到另一个 .csproj 文件的方法。

例如下面的场景:

主.csproj:

<Compile Include="Class1.cs" />
<Compile Include="Class2.cs" />

SubMain.csproj

<Compile Include="Class1.cs" />
<Compile Include="Class2.cs" />
<Compile Include="Class3.cs" />

现在最好能以某种方式从我的“SubMain.csproj”中的“Main.csproj”继承。

可能是“SubMain.csproj”中的类似内容:

<Include File="Main.csproj" />
<Compile Include="Class3.cs" />

所以它会自动添加“Main.csproj”中的文件?

对于 ASP.Net Web 项目,Visual Studio 2010 是否可以实现类似的功能?

如果没有,是否有针对给定场景的替代解决方案?

谢谢。

编辑为什么我需要它:

在我的例子中,这两个项目都是 ASP.Net Web 项目 (WebForms)。“Main.csproj”是基本应用程序。“SubMain.csproj”是 Web 应用程序的客户特定版本。 (具有与基本应用程序相同的功能 + 一些额外的功能或特定功能的一些其他行为)

目前,我只需复制 Main.csproj 并将我的附加文件添加到其中即可。但是这种方法不是很好,并且在将文件添加到 Main.csproj 时也会导致问题,因此它们不会自动出现在我的“SubMain.csproj”中。

最佳答案

Likley 更好的方法是使“Main.csproj”成为“类库”(程序集)并将其添加为对其他项目的引用。

准确实现您要求的用途Import元素添加共享文件。

By using the Import element, you can reuse code that is common to many project files. This makes it easier to maintain the code because any updates you make to the shared code get propagated to all the projects that import it.

By convention, shared imported project files are saved as .targets files, but they are standard MSBuild project files. MSBuild does not prevent you from importing a project that has a different file name extension, but we recommend that you use the .targets extension for consistency.

<Import Project="mySharedFiles.targets"/>

请注意,Import 会将类的副本内置到每个程序集中 - 如果您需要在程序集之间共享类,则可以使用类库方法。

关于c# - Visual Studio 2010 : Import csproj into another csproj "injected" via svn-externals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22360740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com