C# 在Visual Studio解决方案之间共享项目

C# 在Visual Studio解决方案之间共享项目,c#,asp.net-web-api,asp.net-core,azure-pipelines,tfvc,C#,Asp.net Web Api,Asp.net Core,Azure Pipelines,Tfvc,我在VST上的TFS源代码控制上有两个解决方案。一个是UWP应用程序,另一个是Asp.net核心web项目 我有第三个文件,其中包含两个类库项目 我在UWP中引用了这个项目,它在我的VisualStudio和基于VST的构建中工作。 对于Asp.Net Core项目,我还引用了它在我的visual studio上编译的项目,但是在VSTS构建中,它失败了,虽然路径相同,但我有以下错误: 项目文件“D:\a\3\s\SharedLibrary\KapseoPlus.Models”\ 未找到“Kap

我在VST上的TFS源代码控制上有两个解决方案。一个是UWP应用程序,另一个是Asp.net核心web项目

我有第三个文件,其中包含两个类库项目

我在UWP中引用了这个项目,它在我的VisualStudio和基于VST的构建中工作。 对于Asp.Net Core项目,我还引用了它在我的visual studio上编译的项目,但是在VSTS构建中,它失败了,虽然路径相同,但我有以下错误:

项目文件“D:\a\3\s\SharedLibrary\KapseoPlus.Models”\ 未找到“KapseoPlus.Service\KapseoPlus.Service.csproj”


我真的不明白如何解决这个问题,也不明白为什么在我的计算机上它可以完美地工作,但在VST上却不行。

创建NuGet软件包。微软已经用新的.csproj格式将它简化得近乎愚蠢。您只需编辑类库项目的属性,转到“Package”选项卡,选中“Generate NuGet Package on build”框并填写下面的相应信息。然后,在构建时,将为类库创建一个NuGet包


因为您已经在使用VST,所以可以安装来创建私有NuGet提要。最多5个用户可以免费使用,其中“用户”可以从feed安装软件包或将软件包推送到feed中。然后,您可以在VisualStudio的NuGet包管理器中添加私有提要作为附加源,并在任何项目中轻松安装私有NuGet。此外,使用VST,您可以设置一个具有持续集成的自动构建和一个自动发布,以便在您签入代码时随时推送NuGets的新版本。然后,只需编辑类库、提交和推送,然后在几分钟内,您就可以转到其他项目并进行更新。简单明了。

您没有提供太多细节让我们帮助您,但我猜您已经将其添加为现有项目,在您的本地计算机上,这可以工作,因为您可以在其他解决方案中引用解决方案,但是TS不使用您的本地文件系统,因此无法解析解决方案文件中的地址,如果您添加共享项目DLL作为参考,那么TS将有一个DLL的硬拷贝作为参考,这可能会有帮助。是否有充分的理由不使用包含所有3个项目的单一解决方案?如有必要,您可以定义仅生成某些项目的配置。您是否已将该文件夹添加到生成定义的“获取源代码/工作区映射”部分?这很可能是本地文件路径未映射到VST。感谢stuartd,问题已解决;)我们只使用git和子模块,我同意NuGet软件包很简单,但只包含一个子模块并引用它也很简单。@SteveDrake取决于您对git的熟悉程度。根据我的经验,即使是有经验的Git用户也会发现子模块是PITA。