首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual中用于C#的其他全局包含目录

Visual中用于C#的其他全局包含目录
EN

Stack Overflow用户
提问于 2012-07-05 03:14:25
回答 3查看 2K关注 0票数 1

我发现自己在这里和那里重写了很多小东西,因为它们可能太大/太复杂,无法用代码片段来表示,但现实地说,用它们来构建一个独立的DLL是没有意义的,因为我们可能只讨论了几十行或几百行代码。

例如,一个小表单,它只包含一个文本框,用户在其中输入密码并关闭{Enter}。

或者一个扩展方法,它可以将任何对象序列化/反序列化到/从一个GZipped文件中,假设该对象被标记为Serializable

清单不胜枚举。在过去的几年里,我积累了很多零碎的东西,而且它没有以任何整洁的方式组织起来。

在C++项目中,我可以编写一个库文件,其中包含这些代码,我可以将这些代码添加到编译器设置中,以便将来创建的任何C++项目都包含这个库。我用ATL和Boost做过这件事。

我不知道如何在C#项目中做到这一点。有可能吗?

编辑:

如果生成程序集,则必须将其编译为DLL,并将DLL与主可执行文件一起分发。DLL可能很小,也可能很大,我不知道。但是我可能只需要在我的项目中使用DLL中的一些小函数。在C++中,当我使用库时,只有我使用的函数是静态链接的,但是如果我用DLL发布软件,那么我必须分发所有的东西。

我知道可以将DLL与主可执行文件合并,这样用户就不知道有一个单独的库,但是整个DLL仍然与可执行文件一起打包。

想象一下,我用自己的数学、统计、文件IO、图像处理、序列化、用户IO等编写了一个DLL。没什么稀奇的,只是一些我发现自己经常做的普通事情。比如说,DLL可能是4MB。

现在我想编写一个程序,它使用DLL的一小部分,如果我只是复制/粘贴必要的代码,那么我的EXE就会变成,比如说700 my。

您是说我要么复制/粘贴我需要的代码,要么我必须分发一个4MB的DLL和我的700 paste?

EN

回答 3

Stack Overflow用户

发布于 2012-07-05 03:51:20

除了使用程序集之外,我所知道的唯一方法是在项目中创建一个链接到所讨论的源代码。在visual中,该过程是:

项目→添加→现有文件→添加为链接(小向下箭头:)

票数 3
EN

Stack Overflow用户

发布于 2012-07-05 03:37:26

这在源代码级别是不可能的,尽管经常被请求(只是Google c# #包含等效的)。c#提供的唯一合理选择是将公共代码编译为DLL并添加对其的引用。

注意,虽然您可以从另一个项目中向项目添加一个文件,但它将接受一个副本,因此不会维护更新。我用它来实现“手动”的效果--当公共文件被更新时,我将它排除在项目“引用”中,然后重新添加以获得一个新的副本。

更新如下所示,您可以添加作为一个链接-多酷!为什么没人告诉我。

票数 1
EN

Stack Overflow用户

发布于 2012-07-05 03:44:43

我们在总体包含路径中添加一个公共目录,然后使用

代码语言:javascript
运行
复制
#include <somefile.cpp>

直接在我们的cpp文件里。它会直接把源头包括进来。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11337456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档