2011-05-31 142 views
0

我有以下情形:的MSBuild - 鸟巢外部文件(项目文件夹以外的文件)到项目文件夹中的文件

我有2个项目:

  • Proj1
  • Proj2

这些项目的每一个需要访问一个类似的服务(FooService接口),所以我写了Foo.svc和Foo.svc.cs文件并把它们在这同时是幻灯的之外的目录ct目录。

我那么编辑我Proj1.csproj文件执行以下操作:

Foo.svc

这工作正常,编辑和编译代码的条款,不过,我可以无法访问服务:http://localhost/Proj1/Foo.svc < <这不存在(因为实际的Foo.svc文件不在Project目录中)。

因此,我将Foo.svc文件复制到每个项目中,并将代码隐藏文件(Foo.svc.cs)留在公共目录中。但是,现在Visual Studio抱怨说:“文件'.. \ Common \ Foo.svc.cs'的父文件'Foo.svc'无法在项目文件中找到。可能是因为它正在寻找'Foo。文件相对SVC”的代码隐藏文件?

Foo.svc

有没有办法做我正在寻找...保持代码隐藏外这两个项目目录(所以他们都可以链接到它),并以某种方式有我的IIS本地主机上可以访问的svc文件,并让它的代码隐藏文件折叠到Visual Studio中的svc文件?

+0

如何使用这些服务制作第三个项目,并在两个解决方案中包含该项目? – Fosco 2011-05-31 20:03:07

+0

想到了这一点,但实际上我将拥有2个以上的项目文件,并且每个项目文件都可以包含或不包含混合的服务。例如,可以在Proj1-5中使用FooService,但可以在Proj6中使用FooService,在Proj1和4中可以使用BarService。将需要太多的排列,并且我最终会将每个服务都粘贴到自己的项目中并引用项目而不是包含文件。 – michael 2011-05-31 20:06:22

+0

如果在Proj6中没有使用FooService,是否存在问题?你可能只有一个有厨房水槽的服务项目... – Fosco 2011-05-31 20:07:30

回答

1

什么你在谈论的改变你的MSBuild文件(也称为的csproj文件 - http://msdn.microsoft.com/en-us/library/bb629388.aspx

我试图模仿你在做什么,我不认为这是一个解决方案,适合你想要的。你是对的,你的项目可以正常工作,但美学上你不能将项目目录以外的文件嵌套到项目目录中的文件中。

相关问题