Msbuild 在未安装PostSharp的机器上构建具有PostSharp属性的项目是否安全?

Msbuild 在未安装PostSharp的机器上构建具有PostSharp属性的项目是否安全?,msbuild,postsharp,Msbuild,Postsharp,我已经在我的机器上安装了PostSharp,将PostSharp.dll添加到我的dependencies文件夹中,并构建了我的aspect属性,该属性工作正常。 现在我要签入我的更改 在构建机器或我同事的计算机上会发生什么,当他们获得最新的代码但不安装PostSharp时 这些属性会被忽略吗? 或者在生成或运行时会发生一些错误?如果PostSharp安装在其他开发机器上,您还必须将其安装在生成服务器上 另见 我认为如果您尝试在未安装的构建服务器上构建它,即使添加了dll,也会出错。从2.1开始

我已经在我的机器上安装了PostSharp,将PostSharp.dll添加到我的dependencies文件夹中,并构建了我的aspect属性,该属性工作正常。 现在我要签入我的更改

在构建机器或我同事的计算机上会发生什么,当他们获得最新的代码但不安装PostSharp时

这些属性会被忽略吗?
或者在生成或运行时会发生一些错误?

如果PostSharp安装在其他开发机器上,您还必须将其安装在生成服务器上

另见


我认为如果您尝试在未安装的构建服务器上构建它,即使添加了dll,也会出错。

从2.1开始,构建服务器必须安装PostSharp以及需要构建项目的任何开发人员。如果您不这样做,那么构建将失败,他们可能不会与您合作。PostSharp是构建过程的一部分,这就是为什么构建服务器上需要它

你不可能不理睬他。如果其他开发人员能够引用PostSharp.dll以满足类型要求,并且实际构建了PostSharp.dll,那么他们的输出将无效,因为它没有在最终程序集中应用方面


我建议将PostSharp安装到源存储库中(http://doc.sharpcrafters.com/postsharp-2.1/Content.aspx/PostSharp-2.1.chm/html/41129237-a5d4-4acf-aef4-c46759ccfb4b.htm)使每个人都能更轻松地使用它。

我可以确认,在没有安装PostSharp的机器上,具有方面属性的项目可以在没有任何错误的情况下编译。我假设PostSharp DLL是作为依赖项添加的

当然,不会进行后期构建处理,所有属性都将被忽略,但与PostSharp功能无关的属性将按预期工作

澄清2013年1月12日:

当我使用安装程序进行安装时(如中所述),其他开发人员和构建服务器能够忽略PostSharp )只在我的机器上


但是,当在安装的“软件包”子文件夹中使用NuGet installation(当前由PostSharp作者推荐)时,所有开发人员都必须安装Starter或试用版professional edition

您可以对某些配置禁用PostSharp

项目>设置>后期处理

选择“是”以禁用此配置的PostSharp

我在这里回答了类似的问题:


如果starter支持my Aspect,那么在不同的机器上使用不同的版本(starter和Pro)可以吗?如果未安装PostSharp,构建不会失败。我已经卸载了PostSharp一段时间,但所有非AOP功能都按设计工作。您能介绍一下方法吗?@Amby,我已经更新了答案-我使用安装程序使用了PostSharp部署