.net 将个人库存储为控制台应用程序是个坏主意吗?

.net 将个人库存储为控制台应用程序是个坏主意吗?,.net,dll,.net,Dll,我已经开始将我的默认库类型设置为控制台应用程序。直接的好处是,我可以轻松地在主应用程序中实现集成测试 没有我的库作为标准DLL有不利的一面吗?到目前为止,一切似乎都很顺利 我将始终能够访问这些库的源代码,并且我将始终将它们作为项目引用,而不是作为二进制文件引用,如果这有所不同的话 编辑: 我主要好奇的是DLL和EXE的功能是否有差异。我并不十分担心发送几千字节的额外数据 附加编辑: 就功能而言,Razor不能引用另一个未设置为构建库的项目,所以至少有一个原因超出了组织的范围,不这样做 直接的好处

我已经开始将我的默认库类型设置为控制台应用程序。直接的好处是,我可以轻松地在主应用程序中实现集成测试

没有我的库作为标准DLL有不利的一面吗?到目前为止,一切似乎都很顺利

我将始终能够访问这些库的源代码,并且我将始终将它们作为项目引用,而不是作为二进制文件引用,如果这有所不同的话

编辑:

我主要好奇的是DLL和EXE的功能是否有差异。我并不十分担心发送几千字节的额外数据

附加编辑:

就功能而言,Razor不能引用另一个未设置为构建库的项目,所以至少有一个原因超出了组织的范围,不这样做

直接的好处是,我可以轻松地在主应用程序中实现集成测试

你为什么要这么做?我不认为这是一个好处。为什么在部署生产代码时要部署测试?为什么在二进制文件中进行测试会使它成为一个控制台应用程序,除非你正在编写自己的特殊测试

我强烈建议只使用一个普通类库,并为测试使用一个单独的普通类库,使用许多标准测试库中的一个——NUnit、xUnit等。您当前的方法听起来似乎比任何好的方法更容易引起混淆

直接的好处是,我可以轻松地在主应用程序中实现集成测试

你为什么要这么做?我不认为这是一个好处。为什么在部署生产代码时要部署测试?为什么在二进制文件中进行测试会使它成为一个控制台应用程序,除非你正在编写自己的特殊测试


我强烈建议只使用一个普通类库,并为测试使用一个单独的普通类库,使用许多标准测试库中的一个-NUnit、xUnit等。您当前的方法听起来似乎比任何好方法都更容易引起混淆。

库就是一个库。只需编写一个引用库的独立控制台运行程序。重言式就是重言式?我知道我能做到,但我为什么要麻烦呢?图书馆就是图书馆。只需编写一个引用库的独立控制台运行程序。重言式就是重言式?我知道我可以这样做,但是为什么我要麻烦呢?为什么我不想用库部署测试呢?然后我可以在不同的环境中运行它们。标准化测试听起来确实是个好主意。@Casey通常测试需要外部文件。。。虽然部署测试可能不是一个太大的问题,但是外部文件太多?@Casey:您可以在您希望有选择地进行测试的环境中进行测试,而无需始终发送测试。。。这样一来,测试是否需要引用其他库等都无关紧要——您的prod代码中不会有您真正不需要的额外依赖项。我最终不得不合并几个库,很快就发现单独的测试类是可行的。为什么我不想用库部署测试?然后我可以在不同的环境中运行它们。标准化测试听起来确实是个好主意。@Casey通常测试需要外部文件。。。虽然部署测试可能不是一个太大的问题,但是外部文件太多?@Casey:您可以在您希望有选择地进行测试的环境中进行测试,而无需始终发送测试。。。这样的话,测试是否需要引用其他库等都无关紧要——你不会在你的prod代码中得到你并不真正需要的额外依赖项。我最终不得不合并几个库,很快就很明显,单独的测试类是可行的。