Tom*_*ten 5 .net c# vb.net visual-studio
我以为这个问题已经被问过很多次了,但我找不到它。
我们正在开发应用程序,并且有多个由多个目标使用的共享程序集。当我创建新的应用程序时,我可能会使用这样的程序集(例如框架)并在我的项目中引用它。这里一切都很好。但是,当此框架程序集使用模型程序集时,Visual Studio 不会强制我引用它。只要我的代码不接触任何模型类型,它就可以在没有引用的情况下正常编译。
在运行时,它确实需要模型组件。什么时候发布没有问题,因为我只需在安装程序项目中包含所有必需的引用。
当我尝试调试时出现问题应用程序bin 文件夹不会包含模型程序集,因为它未被引用。
问题
是否有最佳实践来解决这种“参考的参考”情况?
我们提出的解决方案
添加模型作为参考
这感觉不对,我们污染了项目
在解决方案中包含模型项目并添加为项目参考
这感觉更糟(污染解决方案)
添加构建后步骤
可能是一个解决方案,但感觉也不对。
对此的最佳解决方案是使用NuGetFramework打包您的或Library程序集(或集)。然后,您可以在 Visual Studio 中使用 NuGet 来处理所有这些引用。即使使用嵌套依赖项,这也很有效。
NuGet 得到完全支持并集成到 Visual Studio 中。托管您自己的包存储库非常容易(就像指向包的文件共享一样简单)。
您可以为您自己的(内部)包托管一个私有的现场存储库。大多数商店都是这么做的。您可以将其与一个或多个公共 NuGet 存储库结合起来,以获取 Log4Net 等公共内容。
虽然启动并运行它似乎需要一些时间(这是相对的,尝试首先使用公共包只是为了首先掌握使用 NuGet 的窍门),但您也可以获得很多好处。例如,您可以获得开箱即用的库版本控制支持。
在我的公司,我们多年来一直遇到这个问题,我们过去常常构建库程序集(50+)并将其签入源代码管理中,然后将其跨分支拖动。由于我们已经改用 NuGet,这个问题就迎刃而解了。再也不会回头看那件事了。
| 归档时间: |
|
| 查看次数: |
5100 次 |
| 最近记录: |