C# 从c中的类创建dll#

C# 从c中的类创建dll#,c#,visual-studio-2010,visual-studio,dll,C#,Visual Studio 2010,Visual Studio,Dll,我有几个具有相同名称空间的类,我想将它们全部放在一个dll文件中,并在其他地方使用它 我阅读了微软网站上的指南: 他们建议: 要生成文件[myDllName].DLL,请编译两个文件[myClass1].cs和 [myClass2].cs使用以下命令行: csc/target:library/out:[myDllName].DLL[myClass1].cs[myClass2].cs 我在cmd窗口中编写了它,并得到一个错误,即没有csc这样的命令。 另外,它将如何在没有路径的情况下找到我的文件

我有几个具有相同名称空间的类,我想将它们全部放在一个dll文件中,并在其他地方使用它

我阅读了微软网站上的指南:

他们建议:

要生成文件[myDllName].DLL,请编译两个文件[myClass1].cs和 [myClass2].cs使用以下命令行:

csc/target:library/out:[myDllName].DLL[myClass1].cs[myClass2].cs

我在cmd窗口中编写了它,并得到一个错误,即没有csc这样的命令。
另外,它将如何在没有路径的情况下找到我的文件

那么正确的做法是什么?我应该写在哪里?

我在这里看到一些关于图书馆课程的帖子。。但不确定它能帮我什么。
我的类位于不同的解决方案中,我只想将其用作外部dll,而不是在同一个解决方案中。

在这种情况下,微软的指南似乎很完美,如果它能起作用的话。

确保csc.exe在PATH环境变量中

您应该有一个随Visual Studio一起安装的vsvars32.bat。您可以运行它来自动将其添加到路径中,或者在regedit中深入查看以

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
在其中的子树中查找您的框架版本和InstallPath密钥。这将告诉您要查找的目录

然后您可以使用它,并且:

WHERE /r "the_directory_you_found" csc.exe
寻找路径。将它添加到您的系统环境变量中,您应该能够找到它


至于类文件的路径,请从它们所在的目录运行命令,或者在指定类文件时指定路径。

确保csc.exe位于path环境变量中

您应该有一个随Visual Studio一起安装的vsvars32.bat。您可以运行它来自动将其添加到路径中,或者在regedit中深入查看以

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
在其中的子树中查找您的框架版本和InstallPath密钥。这将告诉您要查找的目录

然后您可以使用它,并且:

WHERE /r "the_directory_you_found" csc.exe
寻找路径。将它添加到您的系统环境变量中,您应该能够找到它


至于类文件的路径,请从它们所在的目录运行命令,或者在指定类文件时指定路径。

为什么不在Visual Studio中的解决方案中创建一个单独的“类库”项目

您可以轻松地将其添加为所有其他需要它的项目的项目引用


您可以在VS中创建解决方案文件夹以对项目进行逻辑分组。

为什么不在Visual Studio中的解决方案中创建一个单独的“类库”项目呢

您可以轻松地将其添加为所有其他需要它的项目的项目引用


您可以在VS中创建解决方案文件夹,对项目进行逻辑分组。

您可以从命令提示符运行vsvars批处理文件,它将为您设置路径,例如
cmd.exe的实例
我的在这里:

>"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat"

您可以从命令提示符运行vsvars批处理文件,它将为您设置路径,例如
cmd.exe的实例
我的在这里:

>"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat"

如果使用Visual Studio命令提示符窗口,则会为您设置所有必要的环境变量。在Windows 7中,通过打开Microsoft Visual Studio Version\Visual Studio Tools文件夹,可以从“开始”菜单访问该窗口。在Windows 8中,Visual Studio命令提示符称为VS2012的开发人员命令提示符,您可以通过从“开始”屏幕进行搜索来找到它


如果使用Visual Studio命令提示符窗口,则会为您设置所有必要的环境变量。在Windows 7中,通过打开Microsoft Visual Studio Version\Visual Studio Tools文件夹,可以从“开始”菜单访问该窗口。在Windows 8中,Visual Studio命令提示符称为VS2012的开发人员命令提示符,您可以通过从“开始”屏幕进行搜索来找到它


如果安装了Visual Studio,可以尝试创建“类库”项目;也可以通过启动“Visual Studio命令提示符”来运行csc.exe

如果您没有安装Visual Studio,但安装了.net framework。您可以从framework安装目录运行csc.exe

.net Framework 4.0的安装目录路径:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319


如果安装了Visual Studio,可以尝试创建“类库”项目;也可以通过启动“Visual Studio命令提示符”来运行csc.exe

如果您没有安装Visual Studio,但安装了.net framework。您可以从framework安装目录运行csc.exe

.net Framework 4.0的安装目录路径:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319


你能给我更多的细节吗?处理一下,等一下。你能给我更多的细节吗?处理一下,等一下。我认为在外面做是“更干净”的,不是吗?如果你不定义“更干净”就不行了。只需添加一个类库项目并引用它。@CodeCaster我在解决方案中有4个项目(类库),每个项目都有一定的意义(不确定如何解释…),它们代表了一些东西。。我现在要创建的dll只是其中一个的帮助器。。。因此,它不应该与主4。。你知道我的意思吗?非常清楚,但我不同意。从命令行编译不能代替创建项目。如果解决方案中的一个项目需要此功能,为什么不应该在解决方案中?为什么您希望一个不可复制的DLL四处浮动?(除非保存build命令,这几乎等同于创建一个项目文件,除了不这样做的好处之外)。这是有意义的。现在是一个设计问题。哪里是放置它的好地方?除了创建另一个项目,这可能在主4的中间有点混乱?也许我应该把这些类放在使用它们的“父”项目中?我想是的