Tag: project reference

如何从另一个项目中的一个项目调用类?

请原谅这个令人难以置信的愚蠢问题,但我不熟悉C#。 我只是无法弄清楚如何在另一个项目中使用一个项目中的类。 假设我想从Project1到Project2获取一个字符串,并让Project2打印出该字符串。 我使用“添加引用”菜单从Project1引用Project2,然后我添加“使用Project2”然后我将其写入尝试并从“Project2”中的“ClassA”调用“print”。 Project2.ClassA Classa = new Project2.ClassA(); Console.WriteLine(Classa.print); 但我得到的只是错误信息。 所以任何人都可以一步一步解释为什么我需要做什么?

最终编译程序集中.Net中项目和dll依赖项之间的差异

假设我有两个项目A和B. A取决于B.我可以用两种方式指定: 在同一个解决方案中包含A和B,并将B指定为A的项目依赖项。这在A的msbuild项目中显示为“ProjectReference”节点。 包含对B编译的dll的引用作为A的依赖。这在A的msbuild项目中显示为“Reference”节点 我的问题是,一旦我为A构建程序集,这两种方法之间的最终输出是否存在差异。 我尝试创建几个简单的项目来模拟这种关系并尝试比较 – 但不同的比较工具告诉我不同​​的东西。 在写一些逐字节比较这些文件的东西时,我想知道你们是否对此有所了解。 具体来说,如果我使用dll引用而不是项目引用,构建的程序集的行为是否会有任何差异。

dotnet pack项目参考

我非常喜欢在几个程序集之间分离function,例如,外观到数据提供程序,数据提供程序的合同以及数据提供程序实现本身…在我看来,它可以轻松地对单个组件进行unit testingfunction和将来很容易换掉一件事(在我的例子中,它使数据提供者易于更换)。 如果我使用3个项目创建解决方案并使用项目引用,那么当我在入口程序集上构建dotnet时,所有引用都将复制到输出文件夹中。 当我通过dotnet打包条目汇编项目来创建NuGET包时,NuGET包中只包含条目组件(而不是契约或数据提供者) 这似乎是设计上的; .NET Core dotnet-pack的文档说明了这一点 项目到项目引用未打包在项目中。 目前,如果您具有项目到项目的依赖关系,则每个项目必须有一个包。 我的问题是 – 为什么会这样? 如果我想将我的代码分成逻辑程序集,我不得不创建单独的NuGET包并引用它们,或者只是将我的所有代码都集成到一个程序集中。 有没有办法在NuGET包中包含项目引用? 我正在使用VS2017 / .NET Core v1.1(csproj,而不是xproj)