0

我希望能够按每个帐户将 .cs 文件拖到我的项目中。所以我有

<Compile Include="Controls\MyControl.ascx.cs">

那么对于帐户001,或者002我会添加一个额外的行

<Compile Include="Accounts\001\Controls\MyControl.ascx.cs">

或者

<Compile Include="Accounts\002\Controls\MyControl.ascx.cs">

这将允许我根据运行项目的帐户覆盖类。

以这种方式修改CSPROJ文件是否安全,或者当我添加新文件或依赖项时,Visual Studio 会覆盖我的更改?

另外,我解决问题的方法合理吗?

4

3 回答 3

3

csproj 文件基本上只是一个 MSBuild 脚本。修改一下就OK了。在您的情况下,您通常会使用一个变量,以便您只有一个 csproj 文件,即:

<Compile Include="Accounts\$(Account)\Controls\MyControl.ascx.cs">

然后,该帐户将被定义为环境变量或 .settings/.targets 文件中的某个位置,具体取决于您从何处获取它。

于 2013-07-09T14:48:42.590 回答
0

Visual Studio 项目文件是MSBuild 脚本使用的XML 文件。在您处理项目时,编辑器会为您更新它们。如果您在 VS 关闭时对它们进行更改,它将在您下次打开项目时加载这些更改。

于 2013-07-09T14:45:36.433 回答
0

如果手动编辑它们不安全,我严重怀疑编辑项目(以 XML 格式打开)的选项是否会作为解决方案资源管理器的上下文菜单中的选项存在。(您必须先关闭项目才能看到此选项)

于 2013-07-09T14:49:04.560 回答