我想知道为WCF服务组织文件的最佳方法是什么。该服务应该针对.NET Framework 3.5和4.5的两个版本进行编译(在场景之后,它与不同版本的第三方配置一起使用)。
首先想到的是创建这样的文件结构:
WcfProject
|-File1.cs
|-File2.cs
|-MyWcfService.Net35.csproj
|-MyWcfService.Net45.csproj
|-??? Web.config ???
|-MySolution.Net35.sln
|-MySolution.Net45.sln
为不同的框架版本配置项目文件。但我不知道如何处理Web.config文件,这些文件应该与3.5和4.5不同。
我看到的另一种方法是创建包含代码文件的不同项目文件夹(用于3.5和4.5)。在这种情况下,公共文件将作为链接添加到项目中:
WcfProject.Net35
|-File1.cs
|-File2.cs
|-MyWcfService.csproj
|-Web.config
WcfProject.Net45
|-File1.cs (link to ..\WcfProject.Net35\File1.cs)
|-File2.cs (link to ..\WcfProject.Net35\File2.cs)
|-MyWcfService.csproj
|-Web.config
|-MySolution.Net35.sln
|-MySolution.Net45.sln
你觉得伙计们怎么样?还有另一种方法可以解决我的问题,或者第二种解决方案已经是我能做的最好的了吗?
答案 0 :(得分:0)
我会这样做:
或者,跳过第一步和第二步,只管理源代码管理中的依赖项。
这些解决方案可以共享一些C#文件吗?
是的,如果您使用NuGet,您可以指定要打包的静态内容,然后在您获取包时自动添加。查看this,它告诉您如何使用<files/>
节点。
如果您不打算使用nuget,您还可以从一些常见位置将文件作为链接进入visual studio。在Add Existing Item对话框中使用Add as link ...:
这意味着文件将在编译期间作为源包含在内,但可以保存在实际的解决方案文件夹之外。